没有浏览器的 OAuth2?

Posted

技术标签:

【中文标题】没有浏览器的 OAuth2?【英文标题】:OAuth2 without a browser? 【发布时间】:2021-04-05 12:47:51 【问题描述】:

是否打开浏览器以显示登录页面,该页面是从执行身份验证的站点生成的,内置于​​ OAuth2 规范中?

我的要求和限制将阻止我在设备上安装浏览器。但是,已发出针对 Azure Active Directory 对用户进行身份验证的请求。他们确实在寻找桌面应用程序,以便在其自己的 GUI 中包含用户名和密码字段,以及检查该用户是否为注册用户的能力。

【问题讨论】:

【参考方案1】:

是否打开浏览器以显示登录页面,该页面是从执行身份验证的站点生成的,内置于​​ OAuth2 规范中?

与使用的OAuth2流程规范有关,与OAuth2规范无关。

我的要求和限制将阻止我在设备上安装浏览器。

这意味着您无法关注RFC8252(需要该浏览器的地方)。

所以你唯一的选择是Resource Owner Flow/Direct Access Grant。但它不是“安全的”,因为应用程序将有权访问用户凭据。其他缺点:单点登录不起作用,一些 IDP 可能对此流程的多因素身份验证也有问题,安全企业部门通常也不喜欢此流程。

【讨论】:

以上是关于没有浏览器的 OAuth2?的主要内容,如果未能解决你的问题,请参考以下文章

没有浏览器的独立应用程序授权?

OAuth2 - 移动应用重定向问题,停留在浏览器中

OAuth2“客户端凭据流”的浏览器测试工具

来自客户端 javascript 的错误 400 Cognito /oauth2/token 端点

使用 Spring Boot 在单个浏览器会话中使用多个 OAuth2 客户端

在浏览器中调用oAuth2 api时出现404错误