Rob*_*don 5 c# asp.net oauth azure
在ASP.NET MVC项目的脚手架中,StartUp.Auth.cs文件当前包含以下代码:
public partial class Startup
{
// For more information on configuring authentication, please visit http://go.microsoft.com/fwlink/?LinkId=301864
public void ConfigureAuth(IAppBuilder app)
{
// Enable the application to use a cookie to store information for the signed in user
app.UseCookieAuthentication(new CookieAuthenticationOptions
{
AuthenticationType = DefaultAuthenticationTypes.ApplicationCookie,
LoginPath = new PathString("/Account/Login")
});
// Use a cookie to temporarily store information about a user logging in with a third party login provider
app.UseExternalSignInCookie(DefaultAuthenticationTypes.ExternalCookie);
// Uncomment the following lines to enable logging in with third party login providers
app.UseMicrosoftAccountAuthentication(
clientId: "0000000000000000",
clientSecret: "xxxx-xxxxxxxxxxxxxxxxxxx-xxxxxxx");
//app.UseTwitterAuthentication(
// consumerKey: "",
// consumerSecret: "");
//app.UseFacebookAuthentication(
// appId: "",
// appSecret: "");
//app.UseGoogleAuthentication();
}
}
Run Code Online (Sandbox Code Playgroud)
取消注释app.UseXxxAuthentication()行并添加提供者的密钥和密钥使您能够使用相应的提供程序执行OAuth登录.在封面下,这些方法使用从Owin类派生的类AuthenticationMiddleware.
我查看了网络,但我找不到AuthenticationMiddleware直接指向Windows Azure Active Directory实例的链接的自定义实现.有没有这样的实现?
这是使用OAuth连接到我的Windows Azure Active Directory实例的正确方法吗?
小智 8
您应该可以转到您的软件包管理器,NuGet导入Windows Azure AD的Katana Owin实现,它将被列为Microsoft.Owin.Security.ActiveDirectory这是一个中间件,它使应用程序能够使用Microsoft的技术进行身份验证.截至本文的当前版本是2.0.2
一旦你有了这个,你应该能够利用中间件的AD和ADFS 2.1 oAuth令牌,如下所示:
WindowsAzureActiveDirectoryBearerAuthenticationOptions myoptions = new WindowsAzureActiveDirectoryBearerAuthenticationOptions();
myoptions.Audience = "https://login.windows.net/myendpoint";
myoptions.Tenant = "mydirectory.onmicrosoft.com";
myoptions.AuthenticationMode = Microsoft.Owin.Security.AuthenticationMode.Passive;
app.UseWindowsAzureActiveDirectoryBearerAuthentication(myoptions);
Run Code Online (Sandbox Code Playgroud)
这应该使您能够让Owin中间件在此方案中使用Windows Azure AD承载身份验证.
快乐的编码!
我不相信你可以这样使用WAAD。Microsoft Account是针对过去的情况Windows Live ID(更多信息请参见此处),这与 WAAD 不同。WAAD 中的 OAuth 实现尚未完成且处于预览阶段(更多详细信息请参见此处)。目前使用 WAAD 的最佳方式是通过 WS-Federation / WIF。
VS 2013 的痛点是你不能轻松地手动完成,也不能在创建项目后更改所选的身份验证。
获得所需配置的最简单方法是创建新的 Web 应用程序,然后更改身份验证。Change Authentication在向导的第一步进行选择(您可以在其中选择应用程序的类型 - MVC、WebAPI 等)。然后选择Organizational Account。它只有一个选项 -Cloud single organization输入您的租户域名(可能是xxxx.onmicrosoft.com)。并选择访问级别 ( Single Sign On, SSO + read directory data, SSO + read + write directory data)。接下来,系统将要求您使用此 Active Directory 中的全局管理员帐户登录。该向导将创建必要的 web.confg 更改和身份配置。OWIN 仍然不支持 WAAD,它将创建一个新的 IdentityConfig.cs 而不是 Startup.Auth.cs 文件。然后,您可以将生成的文件和 web.config 更改复制到您的项目中。您仍然可以将 WAAD 与其他提供商和 OWIN 结合使用,但这仍然需要更高级的技能。
它应该是有点复杂。但未来情况可能会发生好转。
| 归档时间: |
|
| 查看次数: |
7862 次 |
| 最近记录: |