azure-active-directory - Microsoft OpenID Connect:发送登录请求问题不需要用户输入密码
问题描述
我正在尝试在我的自定义 Web 应用程序中配置 OpenID Connect ( https://docs.microsoft.com/en-us/azure/active-directory/develop/v2-protocols-oidc ),以允许用户使用 microsoft 登录个人账户。我遇到了登录请求不需要用户输入密码的问题,它会在输入用户名后将用户重定向到重定向 url。我在 azure 门户中注册了一个应用程序,并选择了帐户类型“帐户类型:任何组织目录中的帐户(任何 Azure AD 目录 - 多租户)和个人 Microsoft 帐户(例如 Skype、Xbox)”
这是我的登录请求,我在重定向 url 中配置了 msn.com 以进行测试。任何想法我错过了什么?
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=4463b035-1647-457f-89d1-baa095d3b078&response_type=id_token&redirect_uri=https%3A%2F%2Fwww.msn.com&scope=openid
请指教!!谢谢!!
解决方案
我尝试Implicit grant flow
像你做的那样。当我请求 URL 并且不输入密码时,我遇到了屏幕截图中显示的问题。
https://login.microsoftonline.com/common/oauth2/v2.0/authorize?client_id=xxxx-xxxxxx-xxxx&response_type=id_token&redirect_uri=https://jwt.ms&scope=openid&nonce=678910
您似乎已登录,您可以删除登录 cookie 并重试。
更新:
这是您选择的帐户吗?如果您选择已登录的帐户,则无需输入密码。您可以点击Use another account
,然后输入用户名和密码进行登录。
我选择了这种帐户类型,并且您的链接使用的是隐式授权流。
推荐阅读
- python - 如何按原样保存表格(熊猫)
- ruby - 使用 'Each' 方法在 do 循环中创建一个新数组
- javascript - Datatable JS 中的 API 数据
- php - MySQL 数据库中存储的值错误
- regex - 使用 DF、Grep、Awk 列出卷 | 重击壳
- javascript - Gatsby.js 中的 Polyfills - String.prototype.matchAll
- string - 如何将lua表中的条目视为字符串?
- aws-lambda - Traefik 具有到 ECS 后端的动态路由,作为一次性任务运行
- bash - BASH 停止没有错误,但如果在终端中复制则可以工作
- c# - 具有相同类型实体的多级级联删除