我们有ASP.NET应用程序,已经生产了4到5年。现在我尝试使用Azure AD,ASP.NET Identity& amp; OWIN框架。我们的应用程序用户还需要访问已使用Azure支持SSO的云应用程序“BOX”。因此,我们的想法是将我们的应用程序添加到Azure AD中并配置SSO。
注意:我们内部没有Active Directory,我只想使用Azure AD进行Web应用程序身份验证。
像往常一样,经过MSDN上的大量文档后,我很困惑我应该使用哪种身份验证机制。
第一种方法 - 基于Microsoft文章 here
我使用Nuget
PM> Install-Package Microsoft.Owin.Security.OpenIdConnect
PM> Install-Package Microsoft.Owin.Security.Cookies
PM> Install-Package Microsoft.Owin.Host.SystemWeb
然后我在Azure AD中配置了应用程序,然后在ASP.Net应用程序中配置' ida:ClientId' ,' ida:Tenant&#39应用设置中的和' 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,
});
}
第二种方法 - 基于VS 2013 Ultimate提供的模板
在此处使用VS 2013创建新应用程序并使用“组织帐户”选项配置身份验证时,它会添加以下应用程序
' ida:FederationMetadataLocation ',' ida:Realm '和' ida:AudienceUri '然后添加代码以验证用户
问题
1 GT;我不确定我应该使用哪种方法,有什么不同。
2 - ;根据Microsoft视频here,如果使用第二种方法创建应用程序,Visual Studio将在Azure AD中为该租户创建应用程序。但它不再创造,最近有变化吗?我们是否始终必须在Azure AD中手动创建应用程序?
EDIT1
当我在VS 2013中创建新的MVC或Web窗体应用程序并配置身份验证时,有4个选项。其中2个是个人账户'和组织帐户'上面提到的方法1用于"个人账户"方法2适用于组织账户。但是我还不知道我应该何时使用其他?为什么使用客户端ID与另一个使用restful API(联合元数据)?如果我希望同一个用户可以访问多个云应用程序,我应该使用哪种方法?
答案 0 :(得分:4)
答案 1 :(得分:0)