Download the PHP package joandysson/php-oidc-client without Composer
On this page you can find all versions of the php package joandysson/php-oidc-client. It is possible to download/install these versions without Composer. Possible dependencies are resolved automatically.
Download joandysson/php-oidc-client
More information about joandysson/php-oidc-client
Files in joandysson/php-oidc-client
Package php-oidc-client
Short Description Local OIDC client helpers for scaffold-style PHP projects.
License MIT
Informations about the package php-oidc-client
php-oidc-client
Mini lib para integrar login OIDC em projetos PHP no mesmo estilo de scaffold usado pelo devot-api.
Package Composer:
Licenca:
O que a lib entrega
Joandysson\OidcClient\Service\OidcAuthServiceJoandysson\OidcClient\Service\OidcUrlServiceJoandysson\OidcClient\Service\OidcSessionServiceJoandysson\OidcClient\Service\OidcHttpServiceJoandysson\OidcClient\Config\OidcClientConfigJoandysson\OidcClient\Middleware\StartSessionMiddlewareJoandysson\OidcClient\Middleware\RequireOidcAuthMiddleware- exceptions tipadas para configuracao, autenticacao e transporte
O que fica no app consumidor
- controller de login, callback e logout
- views de erro e logout
- rotas do app
- UI do sistema
Variaveis esperadas
Instalacao
Via Composer:
Se o projeto roda em Docker, execute o Composer dentro do container da aplicacao. Exemplo:
Integracao minima
- Instale a lib via Composer.
- Registre
Joandysson\\OidcClient\\Middleware\\StartSessionMiddlewareno middleware global. - Proteja web/admin e writes com
Joandysson\\OidcClient\\Middleware\\RequireOidcAuthMiddleware. - No seu controller, use
Joandysson\\OidcClient\\Service\\OidcAuthServicepara:- gerar a URL de authorize
- trocar
codepor token - carregar
userinfo - manter a sessao local
- renovar token com
refresh_tokenquando necessario - limpar a sessao no logout
- montar URLs auxiliares para cadastro, reset e logout no Auth Central
Refresh token
O OidcAuthService armazena expires_in, expires_at, access_token e refresh_token na sessao local apos o
callback. Para renovar tokens:
refresh(): arrayforcagrant_type=refresh_token, atualizauserinfoe substitui os tokens na sessao.refreshIfNeeded(int $leewaySeconds = 60): ?arrayrenova apenas quando o access token esta vencido, perto de vencer ou quando a sessao antiga nao possuiexpires_at.
O RequireOidcAuthMiddleware chama refreshIfNeeded() antes de liberar uma rota protegida. Se a renovacao falhar,
ele limpa a sessao local e redireciona para o login ou retorna 401 em APIs.
Callback e URLs com retorno
Para manter compatibilidade, handleCallback() continua retornando apenas o return_to. Quando o app consumidor
precisar do usuario e tokens no mesmo passo, use:
handleCallbackResult(?string $code, ?string $state): OidcCallbackResultcurrentUserOrRefresh(int $leewaySeconds = 60): ?array
Para telas do Auth Central que precisam voltar ao sistema consumidor pelo fluxo OIDC, use:
registerUrlForReturnTo(string $returnTo, ?string $clientId = null): stringforgotPasswordUrlForReturnTo(string $returnTo): stringprofileUrlForReturnTo(string $returnTo): string
Esses helpers usam authorizeUrl() internamente para criar state e PKCE reais antes de montar o return_to.
Helpers adicionais
O OidcAuthService tambem expoe:
registerUrl(?string $clientId = null): stringprofileUrlForReturnTo(string $returnTo): stringforgotPasswordUrl(): stringproviderLogoutUrl(?string $postLogoutRedirectUri = null): string
Esses helpers sao uteis quando o sistema consumidor quer manter uma tela propria de entrada, mas ainda encaminhar o usuario para as telas corretas do Auth Central.
Estrutura interna
Config/Exception/Middleware/Service/Support/
Documentacao complementar:
AGENTS.mddocs/AI_CONTEXT.mddocs/ARCHITECTURE.md
Assuncoes
- o projeto consumidor fornece
App\\Config\\Request\\Request - o projeto consumidor fornece
App\\Config\\Response\\Response - o projeto consumidor usa sessao PHP padrao