首页新闻找找看学习计划

asp.net api oauth在controller里面如果获得clientId和clientSecret?

0
悬赏园豆:20 [已解决问题] 解决于 2015-08-24 22:54

OAuthAuthorizationServerProvider里面到是有重载方法可以获得。

我想在apicontroller的方法里面直接获得,用什么方法呢?找到好多资料都找不到。

通过Basic得到的token传进来之后直接解密?解密方法也没找到- -

Leejor.的主页 Leejor. | 初学一级 | 园豆:143
提问于:2015-08-24 00:35
< >
分享
最佳答案
0

搞定了,API中引用System.Web.Http.Owin.dll

在实现的OAuthAuthorizationServerProvider里面重写的

GrantResourceOwnerCredentials和GrantClientCredentials方法实现里面都创建AuthenticationProperties

var props = new AuthenticationProperties(new Dictionary<string, string>
{
{ "as:client_id", context.ClientId }
});

 

具体可以参考dudu的文章,而在API里取得AuthenticationProperties是以下方法

var authContext = await Request.GetOwinContext().Authentication.AuthenticateAsync("Bearer");
//authContext.Properties.Dictionary 里就是验证身份时传入的字典
Leejor. | 初学一级 |园豆:143 | 2015-08-24 22:53
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册