【问题标题】:Oauth2 implementation in Yii2Yii2 中的 Oauth2 实现
【发布时间】:2017-08-29 04:40:54
【问题描述】:

我是 Yii2 的新手。我想在 Yii2 中使用资源所有者凭据授予类型来实现 Oauth2。

为此,我找到了这个 Yii2 特定的库:

https://github.com/Filsh/yii2-oauth2-server

但是文档很差,并且没有显示使用它的确切步骤。

到目前为止,我是这样做的:

1) 使用 composer 安装包

2) 将模块配置添加到common/config/main.php

现在我对接下来的步骤感到困惑。

它说要创建一个名为“PublicKeyStorage”的类。它真的是必要的还是可选的步骤?如果是,那么我应该在哪里创建这个文件?我需要手动创建 privkey.pem 和 pubkey.pem 文件吗?如果是,他们应该有什么内容?

接下来,它说要扩展common\models\User 模型。那么我应该在哪里创建这个文件呢?进入前端/模型?

3) 接下来,它说要运行包迁移,这很清楚。

4) 接下来说设置网址,也很清楚。

5) 接下来,它说设置控制器,我相信它是验证传入的令牌。我说的对吗?

我的最后一个问题是我应该点击哪些 URL 来获取访问令牌?是/oauth2/token吗?

【问题讨论】:

  • 您好,如果您只想使用 access_token,则公钥和私钥用于 JWT 令牌,而不需要这样做,如果您想使用 yii2 高级模板 common/models/User 模型文件已经存在要使用它,您可以否则您可以在前端/模型中创建自己的模型文件,之后您需要更改 config/main.php 文件中的 identifyClass 'identityClass' => 'common\models\User',
  • 我应该使用什么 URL 来获取令牌? localhost/yii2_advanced_api/frontend/web/oauth2/token?

标签: php yii oauth yii2 yii2-advanced-app


【解决方案1】:

如果你想获取 JSON Web Token (JWT) 而不是传统的 token,你需要在模块中设置 'useJwtToken' => true 然后再定义两个配置:'public_key' => 'app\storage\PublicKeyStorage' 是实现 PublickKeyInterface 的类和'access_token' => 'app\storage\JwtAccessToken' 实现了JwtAccessTokenInterface.php

5) 接下来,它说设置控制器,我相信它是验证传入的令牌。我对么?

A) 是的

【讨论】:

  • 是的。这是完美的!工作正常。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2018-12-18
  • 2017-03-08
  • 1970-01-01
  • 2017-08-30
  • 2017-11-29
  • 2015-01-04
  • 2018-06-12
相关资源
最近更新 更多