Authentication SAML/OAUTH重定向URL澄清

Authentication SAML/OAUTH重定向URL澄清,authentication,oauth-2.0,single-sign-on,saml-2.0,Authentication,Oauth 2.0,Single Sign On,Saml 2.0,我正在使用SAML/OAuth开发一个SSO应用程序,我不确定是否完全理解重定向/回调url的含义。让我们以SAML为例 我有一个典型的SAML配置: IDPLoginURL : "https://myidp/login", Issuer: "myhost", RedirectURL: ? Certificate: "MII....." 我总是看到重定向url指向资源服务器或服务提供商的图表和描述。但是我在一个服务上有不同的端点,现在我很困惑 我在myhost上有需要saml令牌进行访问的资源

我正在使用SAML/OAuth开发一个SSO应用程序,我不确定是否完全理解重定向/回调url的含义。让我们以SAML为例

我有一个典型的SAML配置:

IDPLoginURL : "https://myidp/login",
Issuer: "myhost",
RedirectURL: ?
Certificate: "MII....."
我总是看到重定向url指向资源服务器或服务提供商的图表和描述。但是我在一个服务上有不同的端点,现在我很困惑

我在myhost上有需要saml令牌进行访问的资源的端点:

GET myhost/service1
GET myhost/service2
我现在不需要两个不同的重定向URL吗

我正在使用:

有人能在这里给我澄清一下吗。

重定向URL用作应用程序接收身份验证过程结果的一种方式。应用程序将此身份验证委托给第三方,然后通过调用配置的重定向URL来传递结果。

如何处理此重定向是特定于应用程序的,例如,常规服务器端Web应用程序可以在收到用户登录的确认后启动登录会话。通常,通过基于身份提供者(使用SAML、OpenID Connect或event OAuth 2.0)发送的信息发布会话cookie来创建此会话。以下请求将发送创建的cookie,应用程序将完全基于cookie授权这些请求,而无需身份提供者参与。

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

您的困惑可能是因为您可能检查了一些并非针对具体场景的图表。假设应用程序希望调用受保护的API,您可以查看以下图表:

(来源:)


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

这是否也适用于SAML 2.0?它可以,请记住,通常SAML是一种身份验证协议,而OAuth 2.0更具体于授权。来自SAML的令牌证明用户就是他所说的那个人,来自OAuth 2.0的访问令牌证明他可以访问给定的资源。您可以依赖标识令牌来授予对API的访问权,并且它可以工作,OAuth 2.0将更合适(并且可能需要更多的时间进行设置)。