Azure广告和ASP.NET标识+;OWIN,使用哪种方法?
我们有ASP.NET应用程序,该应用程序已投入生产4-5年。现在我正在尝试使用Azure AD、ASP.NET Identity和OWIN框架实现新的身份验证。我们的应用程序用户还需要访问云应用程序“BOX”,它已经支持使用Azure的SSO。所以,我们的想法是将我们的应用程序添加到Azure AD中并配置SSO 注意:我们没有本地Active Directory,我只想使用Azure AD进行web应用验证。 和往常一样,在阅读了大量有关MSDN的文档之后,我对应该使用哪种身份验证机制感到困惑 第一种方法-基于Microsoft文章Azure广告和ASP.NET标识+;OWIN,使用哪种方法?,azure,asp.net-identity,owin,azure-active-directory,Azure,Asp.net Identity,Owin,Azure Active Directory,我们有ASP.NET应用程序,该应用程序已投入生产4-5年。现在我正在尝试使用Azure AD、ASP.NET Identity和OWIN框架实现新的身份验证。我们的应用程序用户还需要访问云应用程序“BOX”,它已经支持使用Azure的SSO。所以,我们的想法是将我们的应用程序添加到Azure AD中并配置SSO 注意:我们没有本地Active Directory,我只想使用Azure AD进行web应用验证。 和往常一样,在阅读了大量有关MSDN的文档之后,我对应该使用哪种身份验证机制感到困惑
我已经使用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'和'ida:PostLogoutRedirectUri'。然后在启动时调用以下代码(并根据本文执行一些额外的步骤)
第二种方法–基于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表单应用程序并配置身份验证时,有4个选项。其中2个是“个人账户”和“组织账户”。上述方法1适用于“个人账户”,方法2适用于组织账户。但是我仍然不知道什么时候我应该用一个而不是另一个?为什么一个使用客户机id而另一个使用restful API(联邦元数据)?如果我想让同一用户访问多个云应用程序,我应该使用哪种方法?以下是所有AzureAD示例。 特别是这些OIDC样本应该会让您开始使用。如果你被卡住了,请告诉我
很抱歉给您带来了困惑。随着技术的发展,您正在经历多个版本的分层。让我澄清两点
也许不完全是你想要的,但是这个()和这个()可能会帮助你找到正确的方向。在第一种情况下,我启用本地ASP.NET身份登录、ASP.NET身份外部身份提供程序登录和组织登录(通过Azure AD)。这两篇文章使用的步骤与我在方法1中提到的相同。我想知道这两种方法之间的区别是什么,为什么它们有不同的应用程序设置?为什么一种方法使用clientid而另一种方法使用restful API..就像federation metadataOne使用WsFederation一样,它使用与WSFed相关的术语:FederationMetadataLocation、Realm、AudienceUri。一种是使用OpenIdConnect,用户使用OpenIdConnect的术语是:Authority、ClientId、audition。WsFed和OIDC是从身份提供者(IDP)获取身份的两个协议。我推荐OIDC,整个行业正朝着这个方向发展。谢谢。这就是我要找的。但是,如果我使用VS 2013 Ultimate Update 5创建新应用程序。并将其配置为使用工作和学校帐户,它仍然使用WSFedderation方法。不确定为什么不使用新方法OpenIDConnector最简单的方法是使用OWIN。Katana是今年发布的新ASP.CORE中被扩展并成为一流的模型。有关OWIN的详细信息,请参阅:。有关ASP.CORE的信息,请参阅:我正在使用.NET 4.5.1和MVC 5。@vironet感谢您的澄清。但我们需要使用“个人用户身份验证和facebook/google”,还需要包括Azure广告身份验证。你能给我指一下正确的方向吗。到目前为止,我发现了一个问题,但并没有解决办法。
public void ConfigureAuth(IAppBuilder app)
{
app.SetDefaultSignInAsAuthenticationType(CookieAuthenticationDefaults.AuthenticationType);
app.UseCookieAuthentication(new CookieAuthenticationOptions());
app.UseOpenIdConnectAuthentication(
new OpenIdConnectAuthenticationOptions
{
ClientId = clientId,
Authority = authority,
PostLogoutRedirectUri = postLogoutRedirectUri,
});
}