我正在努力Asp.net MVC5 app和a Web APi2,API将用于多个站点,并用于验证用户.
我已经创建了MVC5和Web API项目VS 2013,授权服务器的默认模板来了grant_type=password,但我正在寻找使用代码授权流程的实现.
我在我的WebAPI + MVC项目中创建了Login视图,该视图应由客户端应用程序调用
我应该使用用户名和密码验证用户如果用户有效,则使用重定向Uri将Authorize代码传递给客户端应用程序
我在使用owin " OAuthAuthorizationServer " 集成上述流程时感到困惑,或者我应该在下面的方法中覆盖什么
public override Task GrantAuthorizationCode(OAuthGrantAuthorizationCodeContext context)
{
return base.GrantAuthorizationCode(context);
}
Run Code Online (Sandbox Code Playgroud)
如果有人能指导我实施,我将感激不尽.
我正在尝试使用http客户端调用Web API来获取令牌.我有一个MVC应用程序和Web API app.below是我拥有的MVC控制器操作.
[HttpPost]
public ActionResult Login()
{
LoginModel m = new LoginModel();
m.grant_type = "password";
m.username = "xxx";
m.password = "xxx1234";
HttpClient client = new HttpClient();
client.BaseAddress = new Uri("http://localhost:51540/");
var response = client.PostAsJsonAsync("Token", m).Result;
response.EnsureSuccessStatusCode();
return View();
}
Run Code Online (Sandbox Code Playgroud)
但是当我发出请求时,API会响应BAD请求.我尝试将内容类型添加为"application/json",并确认使用fiddler请求的类型为json.
我能够使用Web API注册用户,所以在WebAPI方面我看起来很好,我使用的是VS2013使用个人帐户创建的默认项目,并且没有在API端修改任何东西.
我正在关注本教程http://www.asp.net/web-api/overview/security/individual-accounts-in-web-api并尝试使用HTTP Client而不是fiddler.
如果有人帮助我,我将感激不尽