【问题标题】:Correct API call to start OpenID connect正确的 API 调用以启动 OpenID 连接
【发布时间】:2019-04-26 03:50:49
【问题描述】:

在一个简单的 PHP 示例中实现 Onelogin/Openid 时遇到问题。不确定从哪个 API 开始是正确的。我不能在我的代码中使用任何库,因为目标环境不允许,但它会允许 PHP/HTML。

我们打算使用 OIDC 概述 https://developers.onelogin.com/openid-connect 的身份验证流程部分。但此概述并未指明从哪个 API 参考开始。我假设https://developers.onelogin.com/openid-connect/api/authorization-code 我可以毫无问题地登录 Onelogin,但它不会传回经过验证的用户详细信息,因此我们可以在我们的系统上确认它们。我们在 Openid Connect 应用程序的配置和登录 url 中包含了一个有效的 https 回调 url,但到目前为止,这些都不是由我们的调用触发的。

我们使用的是 Grant 类型 “身份验证(或基本)流程专为具有可以与 IdP 通信而不会被窥探的后端的应用程序设计。” 所以我们有一个后端服务器来处理安全身份验证。

如果 https://developers.onelogin.com/openid-connect/api/authorization-code 不是正确的起始 API 调用,那么有人可以建议哪个是正确的调用。

编辑更新:破解它。我的错误是没有将用户发送到 URL。当我应该将用户定向到该 URL 时,我将其视为仅在服务器上的 API 调用。重新阅读文档,它确实这么说。很容易错过。

【问题讨论】:

    标签: php openid-connect onelogin


    【解决方案1】:

    欣赏它可能看起来很复杂,但一旦你开始它就会开始到位。最好的办法是下载 Postman 模板或使用新的 Onelogin OIDC 检查器工具,因为它们会为您预先构建相关的端点。

    检查员在这里: https://developers.onelogin.com/openid-connect/inspector

    但作为参考,启动授权流程(和其他流程)的端点如下所示:

    https://{{OIDC_url}}.onelogin.com/oidc/auth?client_id={{OIDC_client_id}}&nonce={{$guid}}&redirect_uri={{OIDC_redirect_uri}}&response_type=code&scope=openid&state=

    此端点的供应商文档是她: https://developers.onelogin.com/openid-connect/api/authorization-code

    告诉我你的进展情况

    【讨论】:

    • 同意邮递员的收藏从一开始就很棒,但是在测试了一个实时的“工作”实现之后,感觉从 API 调用开始并不是我需要做的。您建议的端点是我一直在使用的端点(在我的帖子中),我认为它正在做它应该做的事情。我正在登录并获得 MFA。问题一直是不知道它应该如何工作。我假设一个人使用 API 来启动登录过程,然后一个人会自动重定向到我们在门户应用配置中设置的登录 url。那时我失败了。
    • 您的预期是正确的。在 Onelogin 中,您配置一个 OIDC 应用程序,该应用程序指定发送令牌的重定向 URI(您可以看到上面的参数 {{OIDC_redirect_URI}}。它们必须匹配。然后您将令牌传递到该端点,具体取决于哪个流您已启动。然后您验证并验证令牌并自行决定是否将用户登录到您的应用程序。connect2id.com/blog/how-to-validate-an-openid-connect-id-token
    • 关于它应该如何工作的,请阅读一些 OIDC 文档。 developers.onelogin.com/openid-connectdeveloper.okta.com/blog/2017/07/25/oidc-primer-part-1
    猜你喜欢
    • 2021-09-03
    • 1970-01-01
    • 2021-09-24
    • 1970-01-01
    • 2015-11-28
    • 2020-05-13
    • 2021-04-02
    • 1970-01-01
    • 2018-08-03
    相关资源
    最近更新 更多