LP1*_*P13 2 azure owin asp.net-identity azure-active-directory
我们拥有ASP.NET应用程序,该应用程序已经投入生产了4-5年。现在,我正在尝试使用Azure AD,ASP.NET Identity和OWIN框架实施新的身份验证。我们的应用程序用户还需要访问已经使用Azure支持SSO的云应用程序“ BOX”。因此,想法是将我们的应用程序添加到Azure AD并配置SSO。
注意:我们没有本地的Active Directory,我只想使用Azure AD进行Web应用程序身份验证。
和往常一样,在阅读了有关MSDN的大量文档后,我感到困惑,我应该使用哪种身份验证机制。
第一种方法-根据 此处的Microsoft文章,
我已使用Nuget配置了以下软件包
PM> Install-Package Microsoft.Owin.Security.OpenIdConnect
PM> Install-Package Microsoft.Owin.Security.Cookies
PM> Install-Package Microsoft.Owin.Host.SystemWeb
Run Code Online (Sandbox Code Playgroud)
然后,我在Azure AD中配置了应用程序,然后在ASP.Net应用程序中,在应用程序设置中配置了“ ida:ClientId”,“ ida:Tenant”和“ ida:PostLogoutRedirectUri”。然后在启动时调用以下代码 (并按照文章进行一些额外的步骤)
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
});
}
Run Code Online (Sandbox Code Playgroud)
第二种方法–基于VS 2013 Ultimate提供的模板
在此处,当您使用VS 2013创建新应用程序并使用“组织帐户”选项配置身份验证时,它将添加以下appsettings'ida :FederationMetadataLocation ',' ida:Realm '和' ida:AudienceUri ',然后添加代码以验证用户身份
问题
1>我不确定应该使用哪种方法,有什么区别。
2>根据此处的 Microsoft视频,如果您使用第二种方法创建应用程序,则Visual Studio将在Azure AD中为该租户创建应用程序。但是它不再创建了,这最近改变了吗?我们是否总是需要在Azure AD中手动创建应用程序?
EDIT1
当我在VS 2013中创建新的MVC或Web Form应用程序并配置身份验证时,有4个选项。其中2个是“个人帐户”和“组织帐户”。上述方法1适用于“个人帐户”,方法2适用于组织帐户。但是我仍然不知道我什么时候应该使用一个?为什么一个使用客户端ID而另一个使用静态API(联盟元数据)?如果我希望同一用户可以访问多个云应用程序,我应该使用哪种方法?
小智 5
对困惑感到抱歉。您所经历的是随着技术的发展而对多个版本进行分层。让我澄清几点。
| 归档时间: |
|
| 查看次数: |
2126 次 |
| 最近记录: |