我们的客户将他们的 SSO (okta/google) 与我们的 SaaS 集成。 现在为了对它们进行身份验证,我们进行 SAML 登录。
golang 中的 crewjam 库有以下片段,要求输入metadataUrl:
idpMetadataURL, err := url.Parse(metadataurl)
if err != nil {
LogIfError(err)
fmt.Printf("Error while trying to parse %s", metadataurl)
continue
}
idpMetadata, err := samlsp.FetchMetadata(context.Background(), http.DefaultClient, *idpMetadataURL)
if err != nil {
LogIfError(err)
fmt.Printf("Error while trying to fetch %s", idpMetadataURL)
continue
}
但是大多数 IDP 提供商(例如 google)允许您下载 IdpMetadata XML 文件,但不提供 idpMetadataURL。
从哪里获取这个网址?
允许用户通过 saml 并进行自我验证的普遍接受的 kosher 架构是什么?
我已经实现了大部分工作流程。这就是我陷入困境并尝试查找和阅读多个资源的地方。我查看了 xml 元数据,EntityDescriptor 中有一个“entityId”。不确定是不是那个。当我尝试时,它对我不起作用。
有什么指点吗?