use*_*430 7 oauth asp.net-core-mvc asp.net-core asp.net-core-1.0 openiddict
我想使用Openiddict OAuth来保护我的ASP.NET Core 1.0 Web应用程序中的api端点.该api终端将通过手机应用程序被调用,用户必须输入用户名和密码登录.
流程如下:
https://www.domain.comapi端点完成:示例:https://www.domain.com/api/service/getsomedata如何配置Openiddict OAuth,以便使用OAuth保护API端点?
如何配置Openiddict OAuth,以便使用OAuth保护API端点?
您的方案听起来像是简单的"资源所有者密码凭据"授权的良好候选者,它基本上是OAuth2等效的基本或表单身份验证.
这是我建议的:
创建一个负责创建新帐户的新AccountController/ RegistrationControllerAPI控制器:
由于此阶段不存在用户帐户,因此您无法在此处使用令牌身份验证(就像默认AccountController.Register模板在注册用户之前不需要cookie身份验证一样).
配置OpenIddict以启用令牌端点并允许资源所有者密码凭据授予:
services.AddOpenIddict<ApplicationDbContext>()
// Disable the HTTPS requirement during development.
.DisableHttpsRequirement()
// Enable the token endpoint, required to use
// the resource owner password credentials grant.
.EnableTokenEndpoint("/connect/token")
// Enable the password and the refresh token flows.
.AllowPasswordFlow()
.AllowRefreshTokenFlow();
Run Code Online (Sandbox Code Playgroud)
使用OAuth2验证中间件来保护您的API:
要启用令牌身份验证,请参考AspNet.Security.OAuth.Validation1.0.0-alpha2-final包并在app.UseOAuthValidation()之前添加app.UseMvc().要使身份验证成为必需,只需使用[Authorize]与cookie身份验证相同的属性即可.
不要犹豫,玩这个样本.它不会将移动应用程序用于客户端部分,但您应该很容易理解它是如何工作的.
有关更多信息,您还可以阅读此博客文章,由Mike Rousos撰写,用于Microsoft .NET Web开发和工具博客:ASP.NET核心中的承载令牌身份验证
| 归档时间: |
|
| 查看次数: |
2342 次 |
| 最近记录: |