授权码授权流程但没有浏览器
Posted
技术标签:
【中文标题】授权码授权流程但没有浏览器【英文标题】:authorization code grant flow but without browser 【发布时间】:2022-01-06 14:53:10 【问题描述】:必须实现一个应用程序,从命令行获取 Azure AD 用户的用户名/密码并获取访问令牌以查询 ms 图形。 AD 应用程序已创建并配置为需要 MFA - 这是必须的(用户名/密码流不是一个选项)。 我可以使用授权代码授予流程,但这涉及打开浏览器并提供用户凭据,但我不想打开表单来填写凭据,我想在内部提供它们(从用户作为应用程序参数获取)。假设我在通过 ssh 连接到服务器后使用了这个应用程序。用户应通过授权应用程序 (MFA) 授权此登录。 有什么建议吗?谢谢。
【问题讨论】:
请问您可以使用 RestAPI(postman) 访问 ms Graph 吗? 【参考方案1】:允许您获取凭据的唯一流程是 ROPC 流程,它不支持 MFA。
如果这是一个控制台应用程序,则可以选择设备代码流:https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-oauth2-device-code。 此流程为用户提供了他们需要在浏览器中输入的代码,他们可以在任何设备上打开该代码。 对我来说,这感觉是最好的选择。
【讨论】:
以上是关于授权码授权流程但没有浏览器的主要内容,如果未能解决你的问题,请参考以下文章