作者热门文章
- html - 出于某种原因,IE8 对我的 Sass 文件中继承的 html5 CSS 不友好?
- JMeter 在响应断言中使用 span 标签的问题
- html - 在 :hover and :active? 上具有不同效果的 CSS 动画
- html - 相对于居中的 html 内容固定的 CSS 重复背景?
部署到 IIS 时遇到了一些问题。显然客户端使用反向代理和所有显示 IP 地址而不是域名的 OpenId 配置迪斯科。 PublicOrigin
解决了我的问题。但是,我仍然不明白两者之间的区别,
PublicOrigin
IssuerUri
var options = new IdentityServerOptions
{
PublicOrigin = "https://myids/project1/",
IssuerUri = "https://myids/project1/",
...
}
{
"issuer": "https://myids/project1/",
"jwks_uri": "https://myids/project1/.well-known/jwks",
"authorization_endpoint": "https://myids/project1/connect/authorize",
"token_endpoint": "https://myids/project1/connect/token",
"userinfo_endpoint": "https://myids/project1/connect/userinfo",
"end_session_endpoint": "https://myids/project1/connect/endsession",
"check_session_iframe": "https://myids/project1/connect/checksession",
"revocation_endpoint": "https://myids/project1/connect/revocation",
"introspection_endpoint": "https://myids/project1/connect/introspect",
...
}
最佳答案
IssuerUri
是授权服务器的唯一标识符 .此属性的值嵌入到 iss
中的 ID 标记中。属性,它是在 token 验证期间。
在另一边, PublicOrigin
只是服务器的公共(public) URI .如果服务器位于反向代理之后,那么如果没有此提示,它将在 OpenID Connect 元数据 (.well-known/openid-configuration
) 中通告私有(private) URI。
为什么不只拥有单一属性(property)? OpenID Connect 规范 (§ 16.15. Issuer Identifier) 支持驻留在同一主机和端口上的多个颁发者。但是,规范中的同一部分建议每个主机和端口仅托管一个发行者(即单租户)。
什么时候使用 Multi-Tenancy 架构? 假设您想构建和销售自己的身份验证即服务。现在您有两个选择 - 为您的每个客户分配专用 URI ( PublicOrigin
) 或使用单个 PublicOrigin
与专用 IssuerUri
对于每个客户。
关于IdentityServer3 PublicOrigin和IssuerUri在IdentityServerOptions中的区别和使用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45747625/
我是一名优秀的程序员,十分优秀!