carlostmj/uway-auth
最新稳定版本:v1.0.0.0
Composer 安装命令:
composer require carlostmj/uway-auth
包简介
SDK PHP para integracao com UWAY Auth (OAuth 2.0 + OpenID Connect).
README 文档
README
Base URL
- Producao: https://auth.uway.com.br
- Local: http://127.0.0.1:8000
Cadastro e registro de app (publico)
- Crie sua conta em
/register. - Acesse o painel em
/dashboard. - Cadastre um cliente OAuth:
- Nome do aplicativo.
- Tipo do cliente:
public(PKCE) ouconfidential(com segredo). - Redirect URIs (HTTPS obrigatorio para dominios publicos; HTTP apenas para localhost).
- Escopos permitidos.
- Guarde o
client_ide, se for confidential, oclient_secret(exibido apenas uma vez).
Escopos e dados compartilhados
sub sempre e retornado como identificador unico do usuario.
basic:sub,name,emailprofile:sub,nameemail:sub,email
Dados que nunca sao expostos por escopo: phone, document (CPF/CNPJ), role, avatar, sessoes, tokens e metadados internos.
Se o parametro scope nao for enviado, o escopo padrao e basic.
Fluxo de autorizacao (Authorization Code + PKCE)
1) Redirecionar para /oauth/authorize
Parametros obrigatorios:
response_type=codeclient_idredirect_uri(um dos cadastrados)scope(escopos separados por espaco)state(recomendado para proteger contra CSRF)code_challengeecode_challenge_method=S256(obrigatorio para clientespublic)
2) Consentimento do usuario
O usuario visualiza o nome do app e os escopos solicitados. Ele pode autorizar ou negar.
3) Trocar o code por tokens em /oauth/token
Requisicao POST com application/x-www-form-urlencoded.
Campos obrigatorios:
grant_type=authorization_codeclient_idredirect_uricodecode_verifier(PKCE)
Campos adicionais para clientes confidential:
client_secret
Resposta:
access_token(JWT)refresh_tokenexpires_intoken_type=Bearerid_token(retornado quando o escopo incluibasic)
4) Refresh Token
Use /oauth/token com:
grant_type=refresh_tokenrefresh_tokenclient_idclient_secret(apenasconfidential)scope(opcional, deve ser subconjunto do escopo original)
Refresh tokens sao rotacionados. O token anterior e revogado apos o uso.
Obter dados do usuario
Endpoint: GET /api/user com Authorization: Bearer usando o access_token.
Resposta baseada em escopos:
- Sempre:
sub basicouprofile:namebasicouemail:email
Privacidade e compartilhamento de dados
- O UWAY Auth so entrega dados consentidos e estritamente vinculados ao escopo.
- O app cliente deve solicitar o menor escopo possivel.
- Informacoes sensiveis internas (documento, telefone, role, avatar) nao sao expostas em nenhum endpoint.
- O consentimento e obrigatorio sempre que novos escopos forem solicitados.
Boas praticas de seguranca
- Use HTTPS em producao.
- Valide o parametro
state. - Armazene
client_secretapenas no backend. - Para mobile e SPA, use cliente
publiccom PKCE. - Guarde tokens com seguranca e respeite o tempo de expiracao.
- Valide a assinatura do
id_tokencom a chave publica do UWAY Auth.
Erros comuns
401 Unauthorized: token ausente, expirado ou invalido.403 Forbidden: escopo insuficiente ou acesso negado.invalid_redirect_uri: URI nao registrada.invalid_scope: escopo nao permitido.
SDK PHP (Service)
O SDK PHP inclui um service pronto para o fluxo de login:
- Classe:
UwayAuth\\Sdk\\UwayAuthService - Metodos:
buildAuthorizationUrl,exchangeAuthorizationCode,refreshTokens,fetchUserInfo - Requer
ext-curl
统计信息
- 总下载量: 0
- 月度下载量: 0
- 日度下载量: 0
- 收藏数: 0
- 点击次数: 1
- 依赖项目数: 0
- 推荐数: 0
其他信息
- 授权协议: MIT
- 更新时间: 2025-12-28