Server OAuth 2.0授权代码授予+;用于本机移动应用程序的PKCE

Server OAuth 2.0授权代码授予+;用于本机移动应用程序的PKCE,server,oauth-2.0,native,pkce,hydra,Server,Oauth 2.0,Native,Pkce,Hydra,我目前正在实施一个新的OAuth 2服务器(计划使用),这将是我们的开发者门户网站的授权服务器,开发者在该网站上创建一个应用程序,他们获得client_id和client_secret,并将其用于令牌交换,也用于我们的移动应用程序,用户可以在其中填写他们的凭据(用户名和密码)。 登录、注销、忘记密码等将位于不同的服务器中 问题是,是否有办法防止同意屏幕作为授权代码授权+PKCE的一部分?通过移动应用程序,用户正在验证是否可以从不同的服务访问自己的信息,我对授权代码授权的理解是,第三方应用程序使用

我目前正在实施一个新的OAuth 2服务器(计划使用),这将是我们的开发者门户网站的授权服务器,开发者在该网站上创建一个应用程序,他们获得
client_id
client_secret
,并将其用于令牌交换,也用于我们的移动应用程序,用户可以在其中填写他们的凭据(用户名和密码)。
登录
注销
忘记密码
等将位于不同的服务器中

问题是,是否有办法防止同意屏幕作为授权代码授权+PKCE的一部分?通过移动应用程序,用户正在验证是否可以从不同的服务访问自己的信息,我对授权代码授权的理解是,第三方应用程序使用该授权代码来访问用户信息

我知道还有其他授权类型,但根据和,授权代码+PKCE似乎是本地移动应用程序的建议授权


谢谢!

同意

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

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

移动

您使用PKCE是正确的—这是目前所有UI流的标准—在中推荐使用

有趣的是,同意屏幕可以用来获得密码自动填充来为移动应用程序工作,所以你也可以考虑这个角度。

ORY

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

矿山资源

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


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

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

基本上选择教程中概述的默认同意类型

然后跳过在应用程序中显示同意用户界面