C# DotNetOpenAuth:要在存储Nonce时访问用户名吗

C# DotNetOpenAuth:要在存储Nonce时访问用户名吗,c#,oauth-2.0,dotnetopenauth,C#,Oauth 2.0,Dotnetopenauth,我正在使用DotNetOpenAuth 4.0.20926,并尝试使用Db Nonce provider实现基于OAuth2的身份验证服务器 出于某种目的,我希望在处理GetToken请求时访问NonceStore的StoreNonce函数中的username。 我没有办法在那个调用中检索用户名 我怎样才能解决这个问题 嘿,安德鲁,谢谢你的回复和DotNetOpenAuth 我的GetToken方法是这样的 public ActionResult Token() { stri

我正在使用DotNetOpenAuth 4.0.20926,并尝试使用Db Nonce provider实现基于OAuth2的身份验证服务器

出于某种目的,我希望在处理GetToken请求时访问NonceStore的StoreNonce函数中的username。 我没有办法在那个调用中检索用户名

我怎样才能解决这个问题


嘿,安德鲁,谢谢你的回复和DotNetOpenAuth

我的GetToken方法是这样的

  public ActionResult Token()
  {
     string userName = "";  
     //Want to fetch username here 
     //Using username here 
     var result = this.authorizationServer.HandleTokenRequest(this.Request);
     return result.AsActionResult();
  }          
我想在调用HandleTokenRequest之前获取用户名。

是否有任何消息解析器或帮助器方法从请求数据/代码值中获取用户名。

正如您所观察到的,接口不会将用户名传递到StoreNonce方法中。因此,您可能获得用户名的唯一方法是在实例化
INonceStore
实例之前先发现用户名,然后将其传递给该nonce存储,以便稍后调用
StoreNonce
时,它已经知道用户名


也就是说,我相信任何存储和检查nonce需要用户名的设计都需要重新考虑。这不仅是一个混合的问题,否则应该保持分离,你可能会限制自己前进,甚至引入安全漏洞。

你不太可能使用用户名。没有与HTTP请求直接关联的用户,因为对令牌端点的请求来自客户端应用。一些授权授权进来了,里面可以有一个授权用户名,但是你需要破译授权授权来发现它(并首先验证它)。在我提出建议之前,我需要知道你用它做什么。