PHPackages                             uspdev/senhaunica-socialite - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [Authentication &amp; Authorization](/categories/authentication)
4. /
5. uspdev/senhaunica-socialite

ActiveLibrary[Authentication &amp; Authorization](/categories/authentication)

uspdev/senhaunica-socialite
===========================

Senhaunica OAuth1 Provider for Laravel Socialite

4.5.8(1mo ago)76.3k↑100%11[7 issues](https://github.com/uspdev/senhaunica-socialite/issues)GPL-2.0-or-laterPHPPHP ^7 | ^8

Since Mar 31Pushed 1mo ago11 watchersCompare

[ Source](https://github.com/uspdev/senhaunica-socialite)[ Packagist](https://packagist.org/packages/uspdev/senhaunica-socialite)[ Docs](https://github.com/uspdev/senhaunica-socialite)[ RSS](/packages/uspdev-senhaunica-socialite/feed)WikiDiscussions master Synced 1mo ago

READMEChangelog (10)Dependencies (10)Versions (68)Used By (0)

Provider para utilização de senha única USP no Laravel
------------------------------------------------------

[](#provider-para-utilização-de-senha-única-usp-no-laravel)

Biblioteca que permite integrar sua aplicação laravel com a autenticação centralizada da USP utilizando a senha única.

Como funcionalidades adicionais, além da comunicação com o servidor de autenticação, ele também fornece:

- as rotas e controllers necessários para efetuar o login e logout da aplicação;
- um sistema de autorização em cinco níveis (permission) para a aplicação;
- uma rota `/loginas` quer permite assumir identidade de outra pessoa;
- uma interface de gerenciamento de usuários da aplicação, permitindo incluir, remover e atribuir permissões;

> OBS.: Os recursos adicionais podem ser desativados caso não deseje utilizar.

Vídeos sobre a utilização desta biblioteca:

- [1.x](https://youtu.be/jLFM2AUFJgw)
- [2.x](https://www.youtube.com/watch?v=t6Zf3nK-oIo)
- \[3.x\] ...
- \[4.x\] ...

Dependências em PHP, além das default do laravel:

php-curl

### Histórico

[](#histórico)

#### 2/2026: versão x.x

[](#22026-versão-xx)

- adiciona cadastro de usuário local
- rota para login do usuário local é `loginlocal'
- publique e rode a migration, ela modifica a tabela `users`, criando campo para identificação do usuário local

```
php artisan vendor:publish --provider="Uspdev\SenhaunicaSocialite\SenhaunicaServiceProvider" --tag="migrations"
php artisan migrate

```

#### 7/2025: versão 4.5

[](#72025-versão-45)

- possibilidade de desativar loginas
- permite multiplos codigos de unidade separados por vírgula
- permite php 8 e laravel 11

**IMPORTANTE**: Esta atualização necessita ajustar o `config/senhaunica.php` e o .env

#### 3/2023: versão 4.4

[](#32023-versão-44)

- gerenciamento de permissões da aplicação no guard `web` (padrão)
- mudando padrão do debug para `true`.
- criação de permissões de vínculo dos usuários no namespace `senhaunica`
- ()
- Necessário atualizar `.env`/`.env.example` e ajustar `config` se publicado

### Instalação

[](#instalação)

#### Declarar a `trait` do model `User`

[](#declarar-a-trait-do-model-user)

Antes da instalação, da biblioteca, em `App/Models/User.php`, dentro da classe `User` incluir as seguintes linhas:

```
class User extends Authenticatable
{
use \Spatie\Permission\Traits\HasRoles;
use \Uspdev\SenhaunicaSocialite\Traits\HasSenhaunica;

protected $guard_name = 'senhaunica';
...
```

Proceda com a instalação:

```
composer require uspdev/senhaunica-socialite

```

### Configuração básica - nova instalação

[](#configuração-básica---nova-instalação)

#### Publique e rode as migrations

[](#publique-e-rode-as-migrations)

As migrations modificam a tabela `users` e criam as tabelas de autorização.

```
php artisan vendor:publish --provider="Uspdev\SenhaunicaSocialite\SenhaunicaServiceProvider" --tag="migrations"
php artisan vendor:publish --provider="Spatie\Permission\PermissionServiceProvider"
php artisan migrate

```

#### Cadastre o `callback_id`

[](#cadastre-o-callback_id)

A url é o que está cadastrado no `APP_URL` mais `/callback`, exemplo: `http://localhost:8000/callback`

- dev:
- prod:

#### Coloque variáveis no `.env` e `.env.example` da sua aplicação

[](#coloque-variáveis-no-env-e-envexample-da-sua-aplicação)

```
# SENHAUNICA-SOCIALITE ######################################
# https://github.com/uspdev/senhaunica-socialite

# Credenciais/informações do oauth
SENHAUNICA_KEY=fflch_sti
SENHAUNICA_SECRET=sua_super_chave_segura
SENHAUNICA_CALLBACK_ID=85

# URL do servidor oauth no ambiente de dev (default=no)
#SENHAUNICA_DEV="https://dev.uspdigital.usp.br/wsusuario/oauth"

# URL do servidor oauth para uso com senhaunica-faker
#SENHAUNICA_DEV="http://127.0.0.1:3141/wsusuario/oauth"

# Desabilite para não salvar o retorno do oauth em storage/app/debug/oauth/ (default=true)
#SENHAUNICA_DEBUG=

# AS CONFIGURAÇÕES A SEGUIR são relevantes se permission=true

# Esses usuários terão privilégios especiais
#SENHAUNICA_ADMINS=11111,22222,33333
#SENHAUNICA_GERENTES=4444,5555,6666

# Se os logins forem limitados a usuários cadastrados (onlyLocalUsers=true),
# pode ser útil cadastrá-los aqui.
#SENHAUNICA_USERS=777,888

# Se true, os privilégios especiais serão revogados ao remover da lista (default=false)
#SENHAUNICA_DROP_PERMISSIONS=

# Código da unidade para identificar os logins próprios ou de outras unidades
# Ex: se for da unidade aparece Servidor e Servidor.dvfin, onde dvfin é o setor do usuário, caso contrário aparece Servidorusp
# Pode ser uma lista de códigos separado por vírgula
SENHAUNICA_CODIGO_UNIDADE=

# Desabilita a funcionalidade assumir identidade (habilitado por padrão)
SENHAUNICA_DISABLE_LOGINAS=

# Controla se a sessão deve ser persistida (default = true)
SENHAUNICA_REMEMBER_SESSION=

```

### [Permissões e funções da aplicação](docs/permissions.md)

[](#permissões-e-funções-da-aplicação)

### [Atualizando à partir da versão 2](docs/updating.md)

[](#atualizando-à-partir-da-versão-2)

### [Arquivo de configuração](docs/configuracao_detalhes.md)

[](#arquivo-de-configuração)

### [Informações para desenvolvedores](docs/desenvolvedores.md)

[](#informações-para-desenvolvedores)

###  Health Score

53

—

FairBetter than 97% of packages

Maintenance68

Regular maintenance activity

Popularity32

Limited adoption so far

Community22

Small or concentrated contributor base

Maturity78

Established project with proven stability

 Bus Factor2

2 contributors hold 50%+ of commits

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~48 days

Recently: every ~32 days

Total

61

Last Release

59d ago

Major Versions

v1.0.0 → v2.0.02018-04-18

2.0.8 → 3.0.02021-06-08

3.2.0 → 4.0.0-rc.12021-07-22

PHP version history (3 changes)v1.0.0PHP &gt;=5.5.9

v2.0.1PHP &gt;=7.1.3

4.3.18PHP ^7 | ^8

### Community

Maintainers

![](https://www.gravatar.com/avatar/8a59480189a3ba1aa8355cb434880695569433f5d1c9e375e8238d5ff1a56beb?d=identicon)[uspdev](/maintainers/uspdev)

---

Top Contributors

[![masakik](https://avatars.githubusercontent.com/u/986915?v=4)](https://github.com/masakik "masakik (123 commits)")[![thiagogomesverissimo](https://avatars.githubusercontent.com/u/908508?v=4)](https://github.com/thiagogomesverissimo "thiagogomesverissimo (117 commits)")[![wgnann](https://avatars.githubusercontent.com/u/1002642?v=4)](https://github.com/wgnann "wgnann (10 commits)")[![ricardfo](https://avatars.githubusercontent.com/u/6991656?v=4)](https://github.com/ricardfo "ricardfo (5 commits)")[![Marcelo-k-USP](https://avatars.githubusercontent.com/u/178427075?v=4)](https://github.com/Marcelo-k-USP "Marcelo-k-USP (3 commits)")[![antonioacampos](https://avatars.githubusercontent.com/u/129632162?v=4)](https://github.com/antonioacampos "antonioacampos (3 commits)")[![fabiojm](https://avatars.githubusercontent.com/u/33129461?v=4)](https://github.com/fabiojm "fabiojm (3 commits)")[![alecostaweb](https://avatars.githubusercontent.com/u/10613364?v=4)](https://github.com/alecostaweb "alecostaweb (2 commits)")[![kawanks](https://avatars.githubusercontent.com/u/47902146?v=4)](https://github.com/kawanks "kawanks (1 commits)")[![gustavome-983](https://avatars.githubusercontent.com/u/94859158?v=4)](https://github.com/gustavome-983 "gustavome-983 (1 commits)")

---

Tags

hacktoberfest

### Embed Badge

![Health badge](/badges/uspdev-senhaunica-socialite/health.svg)

```
[![Health](https://phpackages.com/badges/uspdev-senhaunica-socialite/health.svg)](https://phpackages.com/packages/uspdev-senhaunica-socialite)
```

###  Alternatives

[bezhansalleh/filament-shield

Filament support for `spatie/laravel-permission`.

2.8k2.9M88](/packages/bezhansalleh-filament-shield)[socialiteproviders/microsoft

Microsoft OAuth2 Provider for Laravel Socialite

326.1M13](/packages/socialiteproviders-microsoft)[binary-cats/laravel-rbac

Laravel enum-backed RBAC extension of spatie/laravel-permission

7730.4k](/packages/binary-cats-laravel-rbac)[eveseat/web

SeAT Web Interface

2723.2k135](/packages/eveseat-web)[coloredcow/laravel-gsuite

A Laravel package to setup Google OAuth and GSuite Admin SDK

183.4k](/packages/coloredcow-laravel-gsuite)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
