如何在ASP中建立组织认证.净5



我正在创建一个新的ASP。在Visual Studio 2015 RC中基于Owin和Katana的。NET 5.0网站。我想这个网站的身份验证使用Windows Azure活动目录。

在Visual Studio 2013中,我可以为此选择Organizational Accounts。向导允许我将URL添加到我的Azure Active Directory中,然后一切就绪。然而,在Visual Studio 2015中,我所看到的只是无身份验证和个人身份验证。那么如何配置组织身份验证呢?

编辑1:

如果我使用这些模板之一,我看到一个Configure方法:

public void Configure(IApplicationBuilder app, IHostingEnvironment env, ILoggerFactory loggerfactory)

这个方法只能访问microt.aspnet . builder . iapplicationbuilder实例而不能访问Owin。IAppBuilder实例,该实例用于以下方法调用

app.UseWindowsAzureActiveDirectoryBearerAuthentication()

下面的链接表明这是故意的。

http://blogs.msdn.com/b/webdev/archive/2014/11/14/katana-asp-net-5-and-bridging-the-gap.aspx

文章进一步指出了以下链接,该链接包含代码(由Thinktecture编写),该代码接受IApplicationBuilder并根据需要返回IAppBuilder:

https://github.com/aspnet/Entropy/blob/dev/samples/Owin.IAppBuilderBridge/KAppBuilderExtensions.cs

我唯一不能从这个示例中弄清楚的是如何注册IDataProtectionProvider所需的以下代码行:

var provider = app.ApplicationServices.GetRequiredService<IDataProtectionProvider>();
有人能帮我一下吗?

最简单的方法是选择'No authentication'并手动添加必要的NuGet包:

 - Microsoft.IdentityModel.Protocol.Extensions
 - System.IdentityModel.Tokens.Jwt
 - Microsoft.Owin.Security.OpenIdConnect
 - Microsoft.Owin.Security.Cookies
 - Microsoft.Owin.Host.SystemWeb

然后使用以下方法添加Startup.Auth.cs文件:

public partial class Startup
{
//...
public void ConfigureAuth(IAppBuilder app)
{
    app.SetDefaultSignInAsAuthenticationType(
        CookieAuthenticationDefaults.AuthenticationType);
    app.UseCookieAuthentication(new CookieAuthenticationOptions());
    app.UseOpenIdConnectAuthentication(
        new OpenIdConnectAuthenticationOptions
        {
            ClientId = clientId,
            Authority = authority,
            PostLogoutRedirectUri = postLogoutRedirectUri);
        });
}

请参阅Github上的Azure AD示例获取更详细的说明。

相关内容

  • 没有找到相关文章

最新更新