Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/authentication/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Authentication 使用SAML进行身份验证_Authentication_Saml 2.0 - Fatal编程技术网

Authentication 使用SAML进行身份验证

Authentication 使用SAML进行身份验证,authentication,saml-2.0,Authentication,Saml 2.0,我的客户要求我开发一个web api并使用SAML作为身份验证 我看到了下面的图片,它显示了身份验证流程 但是,我不知道如何使用身份验证后生成的令牌 我是否需要将其存储为任何其他会话变量 我是否必须在特定时间后续订令牌 注意:授权服务器/idP由另一方维护 由于您自己开发web API,因此无需刷新令牌 您的API需要添加为IdP的依赖方。之后,您可以重定向到IdP并启动身份验证。您获取的令牌包含多个属性(在IdP上也可配置),如唯一用户id(uid)、电子邮件、名称、国家/地区等 在大多数

我的客户要求我开发一个web api并使用SAML作为身份验证

我看到了下面的图片,它显示了身份验证流程

但是,我不知道如何使用身份验证后生成的令牌

  • 我是否需要将其存储为任何其他会话变量
  • 我是否必须在特定时间后续订
    令牌
注意:授权服务器/idP由另一方维护


由于您自己开发web API,因此无需刷新令牌

您的API需要添加为IdP的依赖方。之后,您可以重定向到IdP并启动身份验证。您获取的令牌包含多个属性(在IdP上也可配置),如唯一用户id(uid)、电子邮件、名称、国家/地区等

在大多数情况下,此令牌使用公钥/私钥进行签名。您的API服务器需要验证令牌的签名、颁发者(IdP)、受众(您的API)并使用这些属性。当一切正常时,您需要为本地设置的用户帐户设置本地用户帐户,链接外部uid并创建本地身份验证cookie(如果API使用OAuth2或OpenIdConnect,则生成OAuth2令牌)


由于这是一个复杂的过程,取决于您使用的语言/框架,您可能需要查看现有的实现。

因此,基本上,我需要有一个公共证书来确保令牌的真实性,如果(有效){do things}或者{return 401/3}在我的Web API上,对吗?是的,您需要公共证书或证书的指纹,因为公共证书本身包含在SAML断言中。看见