1

我正在尝试实现一个OAuth2Authorization Server并且我正在尝试通过DotNetOpenAuth.AspNet.Clients.OAuth2Client在 MVC 4 webclient 项目中连接到它。

在我的 SPA 网络客户端中,我能够AccessToken获得.QueryAccessTokenOAuth2Client

有了我AccessToken,我可以调用 REST API 服务并获得成功的结果作为用户额外数据。

....
HttpWebRequest apiRequest = 
   (HttpWebRequest)WebRequest.Create(".....://localhost:4314/api/TodoList");
DotNetOpenAuth.OAuth2.ClientBase.AuthorizeRequest(apiRequest, AccessToken);
....

但是,过了一段时间,我AccessToken的过期了,我收到一个错误,所以我需要刷新我AccessToken的下一个 REST 服务调用。

如何刷新我的AccessToken内部方法OAuth2Client?可以使用ClientBase.RefreshAuthorization(....)吗?

谢谢卡梅罗

4

1 回答 1

2

使用DotNetOpenAuth.AspNet命名空间进行授权(重复使用访问令牌进行 Web 请求)正在逆流而上。该名称空间具有仅用于登录(身份验证)的客户端。

更适合您正在做的事情是使用WebServerClient该类,它是核心 DotNetOpenAuth 库的一部分。它会根据需要自动刷新访问令牌。

于 2013-02-07T04:22:01.227 回答