我正在尝试添加身份验证选项以在asp.net应用程序中支持Azure AD。 web.config文件具有一些选项:
<add key="ida:FederationMetadataLocation" value="https://login.microsoftonline.com/common/FederationMetadata/2007-06/FederationMetadata.xml" />
<add key="ida:Realm" value="..." />
<add key="ida:LogoutReply" value="..." />
<add key="ida:OwinWsFederationEnabled" value="true" />
此外,通过以下代码配置身份验证:
public partial class Startup{
public void ConfigureAuth(IAppBuilder app){
app.SetDefaultSignInAsAuthenticationType(DefaultAuthenticationTypes.ApplicationCookie);
app.UseCookieAuthentication(new CookieAuthenticationOptions()
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString(...),
LogoutPath = new PathString(...),
});
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = "ExternalCookie",
AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Passive,
});
var authenticationOptions = new WsFederationAuthenticationOptions()
{
AuthenticationType = WsFederationAuthenticationDefaults.AuthenticationType,
MetadataAddress = metadata,
Wtrealm = realm,
Wreply = reply,
Caption = caption,
SignOutWreply = logoutreply,
TokenValidationParameters = new System.IdentityModel.Tokens.TokenValidationParameters
{
ValidateIssuer = false
}
AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Passive,
};
app.UseWsFederationAuthentication(authenticationOptions);
}
}
这种工作方式是因为它将我重定向到azure登录并返回到应用程序登录路径。但是,在一切正常的情况下,我没有获得有关新登录用户的任何信息。
var oid = GetClaim("http://schemas.microsoft.com/identity/claims/objectidentifier");
为此,具有此或其他任何声明类型。所有声明都返回空值。
该应用程序已作为多租户注册到我的Azure AD目录。 如果我将元数据位置设置为特定于租户的元数据,则AAD不会将我重定向回应用程序,因为天青广告用户来自其他租户。
我想从Azure AD获得用户主张的地方是什么?