stolfam/keycloak-adapter-php

Keycloak身份验证的易用PHP适配器

2.0.17 2024-05-23 10:57 UTC

This package is auto-updated.

Last update: 2024-09-23 11:42:58 UTC


README

Latest Stable Version Total Downloads License Monthly Downloads

安装

composer require ataccama/keycloak-adapter

Neon配置

parameters:
    keycloak:
        realmId: your_realm
        clientDd: your_client_id
        host: https://your.keycloak.com
        defaultRedirectUri: https://your.default.url
        api:
            username: your_username
            password: your_password
            clientId: your_api_client_id
            clientSecret: your_client_secret
            
services:
    - Ataccama\Adapters\Keycloak(%keycloak%)

使用

创建新的类并扩展Ataccama\Auth类,然后你必须用你自己的逻辑实现所有缺失的方法。

登录URL: $loginUrl = $yourAuthClass->getLoginUrl()

在代码中使用你的类如下: $yourAuthClass->authorize($_GET['code'])

示例(Nette框架)

// waiting for authorization code from Keycloak
if ($yourAuthClass->authorize($this->getParameter('code'))) {
    $this->redirectUrl($yourAuthClass->getRedirectUri());
} else {
    if (!$yourAuthClass->isAuthorized()) {
        $this->redirectUrl($yourAuthClass->getLoginUrl());
    }
}

// check if user is logged in on every page, if not redirect him to Keycloak login page
if (!$yourAuthClass->isAuthorized()) {
    $this->redirectUrl($yourAuthClass->getLoginUrl());
}