首页 > 解决方案 > 验证/信任 Sharepoint Online STS 令牌

问题描述

我可能对如何处理这些事情有错误的想法,但目前的情况是:
我有一个 WebApi 服务,它接受来自 Sharepoint Online (SPO) 的请求,其中传递了 SAML2 令牌。SAML2 令牌由 SPO STS 颁发,我需要验证该令牌,并从中提取声明。
我的问题是如何验证令牌?有没有办法以某种方式信任STS,所以我可以就地验证签名(可能还必须解密令牌)?如果没有,我必须再次调用 STS,验证令牌的端点应该是什么?我找不到太多关于此的文档。

标签: authenticationasp.net-web-apisharepointsaml-2.0sharepoint-online

解决方案


如果您使用 O365 作为 STS 或 IdP 并且为您的服务提供 SAML2.0 断言,那么您必须从元数据链接获取其 X509Certificate(以验证收到的 SAML2.0 断言的签名)https://login.microsoftonline.com/<TenantDomainName>/FederationMetadata/2007-06/FederationMetadata.xml:.

确保从 EntityDescriptor-> IDPSSODescriptor-> KeyDescriptor use="signing" -> KeyInfo-> X509Data-> X509Certificate 检索 X509Certificate。


推荐阅读