我正在使用我创建的项目来查看Web API 2"概念证明"。我试图看看我在哪里注入自己的客户身份验证代码。我有一个内部验证/登录服务,我想调用它来确定登录凭据是否有效,然后获取用户值(id,角色等),如果它是有效的。
我使用"个人帐户"创建了项目。作为身份验证类型,但我很难确定我将调用我的服务的位置,然后将结果映射到IdentityUser(或某些IUser)对象。
在生成的ApplicationOAuthProvider
类中,有一些代码可以从上下文对象传递用户名和密码,如下所示:
public override async Task GrantResourceOwnerCredentials(OAuthGrantResourceOwnerCredentialsContext context)
{
using (UserManager<IdentityUser> userManager = _userManagerFactory())
{
IdentityUser user = await userManager.FindAsync(context.UserName, context.Password);
// ...
如何加入该通话?
答案 0 :(得分:0)
你应该这样做:
创建您自己的HTTP Message Handler
以对用户进行身份验证。您可以将自定义代码放在那里。这将执行每个请求,然后您可以在执行的管道中设置凭证。
创建或使用默认过滤器来处理授权