针对本地移动应用的OAuth 2.0授权代码授予+ PKCE

时间:2020-08-07 05:34:03

标签: server oauth-2.0 native pkce hydra

我目前正在实施一个新的OAuth 2服务器(计划使用Ory Hydra),这将是我们开发人员门户的授权服务器,在该门户中,开发人员创建了一个被授予client_id的应用程序, client_secret,并将其用于令牌交换,还用于用户填写其凭据(用户名和密码)的移动应用程序。 loginlogoutforgot password等将位于其他服务器中。

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

我知道还有其他授予类型,但是根据thisthis,似乎授权代码+ PKCE是推荐给本地移动应用的授予

谢谢!

2 个答案:

答案 0 :(得分:1)

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

因此,这取决于您如何构建应用。

基本选择Implementing Login, Consent & Logout UI教程中概述的默认同意类型。

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

答案 1 :(得分:0)

同意

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

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

移动

您使用PKCE是正确的-这是当今所有UI流程的标准-并在OAuth 2.1 Updates中得到推荐。

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

ORY

这看起来是一个非常有趣的项目-我将仔细研究。

矿山资源

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