0

我目前正在实施一个新的 OAuth 2 服务器(计划使用Ory Hydra),这将是我们的开发人员门户网站的授权服务器,开发人员可以在其中创建他们提供的应用程序client_idclient_secret并将其用于令牌交换,也用于我们的用户填写凭据(用户名和密码)的移动应用程序。, login,logoutforgot password将存在于不同的服务器中。

问题是,有没有办法防止将同意屏幕作为授权代码授予 + PKCE 的一部分?通过移动应用程序,用户通过身份验证可以从不同的服务访问他们自己的信息,我对授权码授予的理解是,它旨在被第三方应用程序用来访问用户信息。

我知道还有其他授权类型,但根据这个这个,授权代码 + PKCE 似乎是本机移动应用程序的推荐授权

谢谢!

4

2 回答 2

1

使用 Ory Hydra,您可以控制用户界面,以便决定何时显示和何时不显示同意屏幕。

所以这取决于你如何构建你的应用程序。

基本上选择实现登录、同意和注销 UI教程中概述的默认同意类型。

然后跳过在您的应用程序中显示该同意 UI。

于 2020-12-17T17:20:36.153 回答
0

同意

通常显示同意屏幕是 OAuth 客户端的属性,尽管这在提供者之间有所不同。

在某些未使用个人资产并且消息对用户没有意义的情况下,这可能是有意义的。例如由管理员配置的公司应用程序。

移动的

您使用 PKCE 是正确的——它是当今所有 UI 流程的标准——并且在OAuth 2.1 更新中被推荐。

有趣的是,同意屏幕对于让密码自动填充适用于移动应用程序很有用,因此您可能也需要考虑这个角度。

欧瑞

这看起来是一个非常有趣的项目——我会仔细看看。

我的资源

移动流程很难实现。如果有用,我的博客有一些关于该主题的可视化 iOS 和 Android 帖子:

于 2020-08-07T12:59:38.420 回答