使用 Microsoft 登录的 Ory / Kratos 登录页面?

Posted

技术标签:

【中文标题】使用 Microsoft 登录的 Ory / Kratos 登录页面?【英文标题】:Ory / Kratos Login page for Login with Microsoft? 【发布时间】:2021-12-30 04:32:31 【问题描述】:

我正在尝试使用 Ory Kratos 并让用户使用他们现有的 Microsoft 帐户登录。在https://www.ory.sh/kratos/docs/concepts/credentials/openid-connect-oidc-oauth2 完成指南后,我无法让它工作。

我的问题是流程应该返回什么登录网址?如果留空,则会显示一个页面,说明应设置此配置:

selfservice:
  flows:
    login:
      ui_url: http://my-app.com/login

但我希望向用户显示 Microsoft 的登录表单,然后在用户登录时重定向回来。我不想显示要求 Microsoft 凭据的自定义登录表单。

在使用 Kratos 和 Microsoft 登录流程时应该如何配置登录流程?

【问题讨论】:

【参考方案1】:

就像你提到的,必须指定ui_url。因此,您可以尝试隐藏 UI 的默认 ID、密码和提交部分,只显示 Sign in with Microsoft 按钮。

所以登录流程或多或少类似于以下内容:

这就是我在参考实现中所做的,我按照此处的文档进行了尝试:https://www.ory.sh/kratos/docs/guides/sign-in-with-github-google-facebook-linkedin/#microsoft

我的参考实现的链接: https://github.com/atreya2011/go-kratos-test/tree/microsoft-oidc

虽然我的参考实现是在 Go 中,但您可以将其调整为您选择的任何其他语言!

配置文件详细信息在这里: https://github.com/atreya2011/go-kratos-test/tree/microsoft-oidc/config

要试用参考实现,您需要安装 Docker,然后执行以下操作:

    在本地克隆存储库。 运行docker-compose up --build 然后在浏览器中打开http://localhost:4455/login

不要忘记使用您从 Microsoft 获得的 client_idclient_secret 更新配置!

希望我的回答对你有帮助:)

【讨论】:

以上是关于使用 Microsoft 登录的 Ory / Kratos 登录页面?的主要内容,如果未能解决你的问题,请参考以下文章

如何将构建限制为仅支持 EN“Microsoft.Expression.Interactions.resources.dll”,并避免 DE、KR、FR、ES 等...?

HttpSessionSecurityContextRepository - 当前不存在 HttpSession

2019OKR规划

pwnable.kr之passcode

pwnable.kr 第二题 collision

pwnable.kr-fd-witeup