【问题标题】:Yii2 - Filsh OAuth2 Server InstallationYii2 - Filsh OAuth2 服务器安装
【发布时间】:2015-04-02 08:32:48
【问题描述】:

我目前正在尝试安装 Yii2 扩展来实现 OAuth2 服务器 (https://github.com/Filsh/yii2-oauth2-server)。但是,我继续运行以下错误:

有没有人知道如何安装这个扩展。我按照给出的说明进行操作,但没有提及该错误。

【问题讨论】:

    标签: php oauth-2.0 yii2


    【解决方案1】:

    Satya 是对的。您需要按照repo's description 中的说明配置oauth2 模块:

    'oauth2' => [
       'class' => 'filsh\yii2\oauth2server\Module',
       'options' => [
          'token_param_name' => 'accessToken',
          'access_lifetime' => 3600 * 24
       ],
       'storageMap' => [
          'user_credentials' => 'common\models\User'
       ],
       'grantTypes' => [
          'client_credentials' => [
             'class' => 'OAuth2\GrantType\ClientCredentials',
             'allow_public_clients' => false
          ],
          'user_credentials' => [
             'class' => 'OAuth2\GrantType\UserCredentials'
          ],
          'refresh_token' => [
             'class' => 'OAuth2\GrantType\RefreshToken',
             'always_issue_new_refresh_token' => true
          ]
       ],
    ]
    

    我已成功配置此扩展并创建了 Yii2 Rest API template with OAuth2 server https://github.com/ikaras/yii2-oauth2-rest-template - 请随意使用。此代码还有一些演示数据(使用示例)和scopes 对控制器的支持。

    【讨论】:

    • StackOverflow 不欢迎仅链接的答案。请添加重要部分以回答。
    【解决方案2】:

    在 config/main.php 的“模块”部分添加“oauth2”配置。 它可能有效

    【讨论】:

      【解决方案3】:

      在模块部分下的 confin/main.php 文件下使用此配置。

      'oauth2' => [
      'class'               => 'filsh\yii2\oauth2server\Module',
      'tokenParamName'      => 'token',
      'tokenAccessLifetime' => '100800', // Expiry Time
      'storageMap'          => [
          'user_credentials' => 'common\models\User', // This Should be your model name 
      ],
      'grantTypes'          => [
          'client_credentials' => [
              'class'                => 'OAuth2\GrantType\ClientCredentials',
              'allow_public_clients' => false,
          ],
          'user_credentials'   => [
              'class' => 'OAuth2\GrantType\UserCredentials',
          ],
          'refresh_token'      => [
              'class'                          => 'OAuth2\GrantType\RefreshToken',
              'always_issue_new_refresh_token' => true,
              'refresh_token_lifetime'         => '100800',
          ],
      ],
      

      ];

      【讨论】:

        【解决方案4】:

        在范围问题上找到了我自己的解决方案,也许它对某人有用 - 在配置中用 ** 标记:

        'modules' => [
            'oauth2' => [
                'class' => 'filsh\yii2\oauth2server\Module',
                'tokenParamName' => 'accessToken',
                'tokenAccessLifetime' => 3600 * 24,
                'storageMap' => [
                    'client_credentials' => 'app\models\User',
                    'user_credentials' => 'app\models\User',
                    **'scope' => 'app\models\User',**
                ],
                'grantTypes' => [
                    'client_credentials' => [
                        'class' => '\OAuth2\GrantType\ClientCredentials',
                        'allow_public_clients' => false,
                        'always_issue_new_refresh_token' => true
                    ],
                    'user_credentials' => [
                        'class' => 'OAuth2\GrantType\UserCredentials',
                    ],
                    'refresh_token' => [
                        'class' => 'OAuth2\GrantType\RefreshToken',
                        'always_issue_new_refresh_token' => true
                    ]
                ]
            ]
        ],
        

        【讨论】:

          猜你喜欢
          • 2016-06-21
          • 2014-11-18
          • 1970-01-01
          • 1970-01-01
          • 2019-01-15
          • 2016-12-09
          • 1970-01-01
          • 2016-03-22
          • 2020-09-12
          相关资源
          最近更新 更多