masoud91/yii2-idcoauth

为 Yii2 的 idco OAuth2 扩展

安装次数: 1,480

依赖者: 0

建议者: 0

安全: 0

星标: 3

关注者: 2

分支: 0

类型:yii2-extension

dev-master 2020-10-18 13:48 UTC

This package is auto-updated.

Last update: 2024-09-27 18:46:43 UTC


README

为 Yii2 的 OAuth2 扩展

要求

该扩展需要以下扩展才能正常工作,您不需要手动安装它们

Yii2-oauth-filsh

common\idco\mongodb\ActiveRecord

安装

安装此扩展的首选方式是通过 composer

运行以下命令

php composer.phar require --prefer-dist infinitydesign/yii2-idcoauth "*"

或者在您的 composer.json 文件的 require 部分添加

"infinitydesign/yii2-idcoauth": "*"

用法

运行以下迁移以创建模式和初始文档(目前仅支持 mongodb)

./yii mongodb-migrate --migrationPath=@vendor/infinitydesign/yii2-idcoauth/migrations

在 modules 部分添加以下配置

'oauth2' => [
    'class' => 'filsh\yii2\oauth2server\Module',
    'tokenParamName' => 'accessToken',
    'tokenAccessLifetime' => 3600 * 24,
    'storageMap' => [
        'user_credentials' => 'infinitydesign\idcoauth\OauthUser',
        'client' => 'infinitydesign\idcoauth\OauthClients',
        'access_token' => 'infinitydesign\idcoauth\OauthAccessTokens',
        'refresh_token' => 'infinitydesign\idcoauth\OauthRefreshTokens',
        'authorization_code' => 'infinitydesign\idcoauth\OauthAuthorizationCodes',
        'client_credentials' => 'infinitydesign\idcoauth\OauthClients',
        'scope' => 'infinitydesign\idcoauth\OauthScopes',
    ],
    'grantTypes' => [
        'user_credentials' => [
            'class' => 'infinitydesign\idcoauth\UserCredentials',
            'allow_public_clients' => false
        ],
        'refresh_token' => [
            'class' => 'infinitydesign\idcoauth\RefreshToken',
            'always_issue_new_refresh_token' => true
        ],
        'authorization_code' => [
            'class' => 'infinitydesign\idcoauth\AuthorizationCode',
        ],
    ],
    'components' => [
        'request' => function () {
            return \filsh\yii2\oauth2server\Request::createFromGlobals();
        },
        'response' => [
            'class' => \filsh\yii2\oauth2server\Response::class,
        ],
    ],
]
<?= \infinitydesign\idcoauth\AutoloadExample::widget(); ?>