SAML / OAUTH重定向URL澄清

时间:2016-10-17 10:52:07

标签: authentication oauth-2.0 single-sign-on saml-2.0

我正在使用SAML / OAuth开发SSO应用程序,我不确定我是否理解重定向/回调网址的含义。所以我们以SAML为例。

我有一个典型的SAML配置:

IDPLoginURL : "https://myidp/login",
Issuer: "myhost",
RedirectURL: ?
Certificate: "MII....."

我总是看到重定向网址指向资源服务器或服务提供商的图表和说明。但我在服务上有不同的终点,现在我很困惑。

我在myhost上有端点需要一个saml令牌来访问资源:

GET myhost/service1
GET myhost/service2

我现在不需要两个不同的重定向网址吗?

我正在使用:https://github.com/steffow/meteor-accounts-saml

有人可以在这里给我一点澄清。

1 个答案:

答案 0 :(得分:1)

<子> 重定向URL用作应用程序接收身份验证过程结果的方法。您的应用程序将此身份验证委派给第三方,然后通过调用配置的重定向URL来传达结果。

<子> 如何处理此重定向是特定于应用程序的,例如,常规服务器端Web应用程序可以在收到用户登录的确认时启动登录会话。通常,此会话将通过基于以下信息发出会话cookie来创建:发送身份提供程序(使用SAML,OpenID Connect或事件OAuth 2.0)。以下请求将发送创建的cookie,并且应用程序将纯粹基于它来授权那些请求而不涉及身份提供者。

在您的方案中,似乎您有一个需要访问权限以授予访问权限的Web API ,然后我想会有一个或多个客户端应用程序想要调用此API公开的端点。这将是一个教科书OAuth 2.0场景,其中重定向URL将是希望访问您的API的客户端应用程序。一旦调用重定向URI,应用程序就会存储访问令牌,以便它可以单独调用每个端点,但始终使用相同的令牌。

您的困惑可能来自于您可能会检查一些并非针对您的具体情况的图表。假设应用程序想要调用受保护的API的情况,您可以检查此图:

SPA using OAuth 2.0 implicit grant to access Web API

(来源:SPA + API Scenario

在这种情况下,重定向URL将是SPA应用程序的一个,它将作为交互的一部分被调用,离开Auth0(身份提供者/授权服务器)并转到SPA应用程序。