SAML okta 重定向 IDP 失败



我已经在okta上创建了一个SAML 2.0应用程序并完成了所有配置。 然后,我尝试通过重定向到 okta idp -> 从我的应用程序进行授权

http://www.okta.com/(okta created token)?SAMLRequest=(encoded saml xml)

重定向返回 404。 当我转到我的管理员okta控制台时,我没有看到失败尝试的任何日志,我想这是有道理的,因为它返回404,但我不知道如何找出导致404的原因。

有没有办法找出导致问题的原因?

安装 SAML跟踪程序浏览器扩展,然后重试以确认 SAML 响应正在正确解码。

为了解决您的问题"有没有办法找出导致问题的原因?",我重复了您的帖子中建议的SAML 2.0身份验证步骤。

以下回复和答案将帮助您"找出导致问题的原因"。

(1)引用您的帖子"我已经在okta上创建了一个SAML 2.0应用程序并完成了所有配置。然后,我尝试通过重定向到 okta idp -> 从我的应用程序进行授权 http://www.okta.com/(Okta 创建的令牌)?SAMLRequest=(encoded saml xml)">

回应

(I) 我已经在okta上创建了一个SAML 2.0 SP应用程序,并像您一样完成了所有配置。

(II) 然后,我尝试从我的 SAML SP 应用程序进行授权,方法是像您一样重定向到 okta idp。

(III) 提交本地 Okta 用户帐户的用户名/密码(例如 john.doe@example.com)以继续进行 SAML 身份验证。

(2)引用您的帖子"重定向返回404。当我转到我的管理员okta控制台时,我没有看到失败尝试的任何日志,我想这是有道理的,因为它返回的是404,但我不知道如何找出导致404的原因。

回应

(I)在我的实验中,重定向返回以下错误消息,而不是404错误。

Sorry, you can't access SAML 2.0 SP demo because you are not assigned this app in Okta.
If you're wondering why this is happening, please contact your administrator.
If it's any consolation, we can take you to your Okta home page.

(II)然后"我去我的管理员okta控制台",如您的帖子所建议的那样, 导航到"系统日志>报告",我看到了下面的日志。

Event Info                                   Targets
User attempted unauthorized access to app    SAML 2.0 SP demo  (AppInstance)
FAILURE :

(3)引用您的问题"有没有办法找出导致问题的原因?

答:

我总结了导致 SAML 身份验证失败的四 (4) 个潜在根本原因。最重要的 #1 潜在根本原因是您将错误的 okta IdP 元数据文件上传到 SAML 2.0 SP 应用服务器(请参阅下面的详细说明)。

(i)潜在问题 #1

我问题的根本原因是我的本地okta用户帐户未分配用于访问此SAML 2.0应用程序。

分辨率

(a) 导航到 SAML 2.0 应用程序>应用程序,然后单击分配>分配给人员,

(b) 在弹出的对话框中,选择本地 Okta 用户帐户(例如,John Doe (john.doe@example.com)),单击分配,单击保存并返回,然后单击完成。

(c) 再次重复上述 SAML 2.0 身份验证步骤,我被重定向回并成功登录到 SAML 2.0 应用程序。

(二)潜在问题#2

此问题的三 (3) 个潜在根本原因是

(a) 您没有在 okta 上填写您的 SAML 2.0 SP 应用程序的所有正确 SAML SP 信息。

(b) 或者您没有将 okta IdP 元数据文件上传到您的 SAML 2.0 SP 应用服务器

(c) 或者您将错误的 okta IdP 元数据文件上传到 SAML 2.0 SP 应用服务器(这是导致 404 失败的最高概率,因为与大多数只为所有 SAML SP 应用创建一个 IdP 元数据文件的 SAML IdP 不同,okta 为不同的 SAML SP 应用创建不同的 IdP 元数据文件)。

分辨率

关于根本原因 (II.a):创建新的 SAML 2.0 应用时,您需要确保以下 SAML SP 信息应与 SAML 2.0 SP 应用的 SAML SP 元数据完全相同。

Single sign on URL should come from your SAML SP metadata, e.g.,
<md:AssertionConsumerService Binding="urn:oasis:names:tc:SAML:2.0:bindings:HTTP-POST" Location="https://your-saml-sp-app-URL/SAML2/POST" index="1"/>
Audience URI (SP Entity ID) should also come from your SAML SP metadata, e.g.,
<md:EntityDescriptor xmlns:md="urn:oasis:names:tc:SAML:2.0:metadata" ID="_random-string" entityID="https://your-saml-sp-app-URL/SAML2/Metadata">)

okta 上的 SAML 2.0 SP 应用程序的示例 SAML 设置

导航到 SAML 2.0 应用程序>应用程序>常规> SAML 设置

Single Sign On URL          https://your-saml-sp-app-URL/SAML2/POST (i.e., your SAML SP AssertionConsumerService)
Recipient URL               https://your-saml-sp-app-URL/SAML2/POST (i.e., your SAML SP AssertionConsumerService)
Destination URL             https://your-saml-sp-app-URL/SAML2/POST (i.e., your SAML SP AssertionConsumerService)
Audience Restriction        https://your-saml-sp-app-URL/SAML2/Metadata (i.e., your SAML SP entity ID)
Default Relay State
Name ID Format              Unspecified
Response                    Signed
Assertion Signature         Signed
Signature Algorithm         RSA_SHA256
Digest Algorithm            SHA256
Assertion Encryption        Unencrypted
SAML Single Logout          Disabled
authnContextClassRef        PasswordProtectedTransport
Honor Force Authentication  Yes
SAML Issuer ID              http://www.okta.com/${org.externalKey}

关于根本原因 (II.b) 和 (II.c):您需要将正确的 okta IdP 元数据上传到 SAML 2.0 SP 应用服务器。 请注意,okta 会为不同的 SAML 2.0 SP 应用程序创建不同的 okta IdP 元数据文件。

导航到 SAML 2.0 应用>的应用程序>登录

Identity Provider metadata is available if this application supports dynamic configuration. 

单击身份提供程序元数据以下载 SAML 2.0 SP 应用程序的 okta IdP 元数据。

登录到您的 SAML 2.0 SP 应用程序,将 okta IdP 元数据上传到您的 SAML 2.0 SP 应用程序,然后完成配置以将 okta IdP 信息存储在您的 SAML 2.0 SP 应用程序服务器上。

最新更新