使用 SAML Service Provider

Authing 云上的 SAML Service Provider 只做两件事:替开发者发送 SAML Request 给 SAML IdP;帮开发者处理 SAML IdP 返回的 SAML Response,并将其中的用户信息以 url query 的形式发送到开发者配置的回调地址。

创建 SAML Service Provider

创建 SAML Service Provider 应用

发起登录

在 SAML Service Provider 的使用方法选项卡,找到「发起 SAML 登录」,复制下面的连接,在浏览器打开访问,即可自动向配置好的 SAML IdP 发送 SAML Request。

用户信息回调

在 IdP 完成登录后,Authing SAML SP 会将解析后的用户信息以 url query 的形式发送到回调地址,数据格式为 JSON。

检验用户信息签名

为保证回调信息真实性,Authing 使用 SAML SP Secret 对返回的用户信息进行签名。

以下是一个发送到回调地址数据的示例

在 url 的 query 中有一个 signature 字段

开发者需要检验这个字段是否合法来判断用户信息真实来自 Authing,而不是来自伪造的请求。

签名方式为 HMAC-SHA256,生成签名的伪代码如下:

注意需要提取出 url 中 data 字段,并进行 unescape 操作,将结果作为参数放在 <用户信息 JSON 字符串>。<用户信息 JSON 字符串> 中不能有 % 等 url 中的转义字符,必须是一个 JSON 格式字符串

Node.JS 代码示例如下:

Last updated

Was this helpful?