Asp.net mvc 如何在OAuthAuthorizationServerProvider';GrantResourceOwnerCredentials方法?
我有一个asp.net mvc webapi 2项目,我正在使用带有owin和oauth的新asp.net身份基础设施及其所有重要功能 我正在使用基于令牌的系统进行授权:Asp.net mvc 如何在OAuthAuthorizationServerProvider';GrantResourceOwnerCredentials方法?,asp.net-mvc,asp.net-web-api,asp.net-identity,asp.net-web-api2,claims-based-identity,Asp.net Mvc,Asp.net Web Api,Asp.net Identity,Asp.net Web Api2,Claims Based Identity,我有一个asp.net mvc webapi 2项目,我正在使用带有owin和oauth的新asp.net身份基础设施及其所有重要功能 我正在使用基于令牌的系统进行授权:app.useAuthBealerTokens(OAuthOptions) 一切都很好,我唯一的问题是——在我自己的OAuthAuthorizationServerProvider实现中,在方法GrantResourceOwnerCredentials(一旦用户希望通过访问/token url进行身份验证,就会调用该方法),在检
app.useAuthBealerTokens(OAuthOptions)代码>
一切都很好,我唯一的问题是——在我自己的OAuthAuthorizationServerProvider
实现中,在方法GrantResourceOwnerCredentials
(一旦用户希望通过访问/token url进行身份验证,就会调用该方法),在检查用户有效性和其他内容之后,我需要调用其他方法(重新计算购物车等),但这些方法(不询问原因)查看当前上下文User
以获取用户的用户名和角色,但在运行GrantResourceOwnerCredentials
方法期间,当前上下文User
为空(这在某种程度上是正常的——我不是在问为什么)
我的问题是:为了不违反使用oAuth承载令牌授权的任何准则,可以这样手动设置用户吗
context.Request.User=newclaimsprincipal(OAuthidentitity);
感谢您的反馈。在owin中,承载人和授权的启动顺序必须如下所示
app.UseOAuthBearerAuthentication(new OAuthBearerAuthenticationOptions());
app.UseOAuthAuthorizationServer(new OAuthAuthorizationServerOptions());
看看这个