我们有一个使用WIF的ASP.NET应用程序。我们的web.config文件具有如下部分:

<audienceUris>
    <add value="https://someapp.mycompany.com/App/" />
</audienceUris>
<federatedAuthentication>
    <wsFederation passiveRedirectEnabled="true" issuer="https://adfs.mycompany.com/adfs/ls/" realm="https://someapp.mycompany.com/App/" requireHttps="true" />
    <cookieHandler requireSsl="false" />
</federatedAuthentication>

我看到的每个示例audienceUrisrealm都是相同的值。两者有什么区别?我们都需要它们吗?

最佳答案

realm是应用程序的唯一标识符,即登录时发送到STS的身份。但是,audienceUris元素用于限制 token 可以从哪些应用程序接受。

例如,用户可以登录并从其他依赖方接收 token ,然后导航到您的应用程序。如果该应用程序的 Realm 列在audienceUris中,则 token 将被接受,并且他们可以访问该站点(假设该应用程序也可以读取cookie)。

如果您将 token 视为护照,那就像是说英国将允许持有美国或英国护照的人入境。

在回答您的问题时,应同时包含它们,但它们可以相同。

08-27 00:38