saml okta重定向idp失败

时间:2019-04-11 20:34:07

标签: saml saml-2.0 okta

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

从我的应用程序进行授权
http://www.okta.com/(okta created token)?SAMLRequest=(encoded saml xml)

重定向返回404。当我进入管理okta控制台时,我看不到任何关于失败尝试的日志,我想这是有道理的,因为它正在返回404,但我不知道该怎么算找出导致404的原因。

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

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

要解决您的问题“是否有办法找出导致问题的原因?”,我已经重复了帖子中建议的SAML 2.0身份验证步骤。

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

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

响应

(I)我已在okta上创建了一个SAML 2.0 SP App,并按照您的要求完成了所有配置。

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

(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)个潜在根本原因。排名第一的潜在根本原因是您将错误的okta IdP元数据文件上传到了SAML 2.0 SP应用服务器中(请参见下面的详细说明)。

(I)潜在问题#1

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

解决方案

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

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

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

(II)潜在问题#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 IdP不同,后者仅为所有SAML创建一个IdP元数据文件SP应用,可以为不同的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为您的不同S​​AML 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应用程序服务器上。