Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/asp.net-mvc/15.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Asp.net mvc 如何在OAuthAuthorizationServerProvider';GrantResourceOwnerCredentials方法?_Asp.net Mvc_Asp.net Web Api_Asp.net Identity_Asp.net Web Api2_Claims Based Identity - Fatal编程技术网

Asp.net mvc 如何在OAuthAuthorizationServerProvider';GrantResourceOwnerCredentials方法?

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进行身份验证,就会调用该方法),在检

我有一个asp.net mvc webapi 2项目,我正在使用带有owin和oauth的新asp.net身份基础设施及其所有重要功能

我正在使用基于令牌的系统进行授权:
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());
看看这个