ASP.NET MVC Web API-将发送给用户发送的新承载令牌



我当前有一个带有Web API单个身份验证项目的Visual Studio 2017。

我只想在将携带者令牌(成功身份验证)提供给用户到文本文件时记录。即,当用户将请求发送到/令牌并接收到相关令牌时。

我不确定在哪里可以找到返回该变量的方法/何处。即在返回该令牌之前,什么类/功能等。我只想添加几行代码。(即,我有几行代码准备登录文本文件,doken,date& time,用户名等,我只是不知道将其放在哪里!)。

我的记录代码的一部分涉及将用户代理保存在发送给/令牌的请求中。我开始认为我可能必须在applicationoauthprovider.cs中做某事,但我不确定如何在当前上下文中检索用户的请求以提取用户代理数据。

目前,我想保存,用户代理(一直使用request.headers.useragent PIR),用户名(曾经使用user.Identity.getUsername()prient),date&时间(DateTime.now),实际令牌返回给用户。

编辑2:我已经成功地检索了用户代理

var myString = context.Request.Headers.Get("User-Agent");

(用户== null)在applicationoauthprovider.cs

之后添加它。

现在,我正在尝试弄清楚如何拦截返回给用户的实际令牌,以及接收该令牌的用户(即用户名)。

谢谢!

如果我足够了解您的问题,我想您想在成功的代币身份验证后记录一些信息,并在API控制器上下文或任何授权属性上下文中检索该信息。

如果这是问题,我将建议您使用索赔,索赔是保存和检索丰富身份验证信息的一种方法。例如,您提到的用户代理。

您可以创建一个由 oauthauthorizationerserverprovider 继承的类,然后覆盖 Grantresourceownercredentials 我猜您已经完成了。在您授权用户使用逻辑并生成票证并将令牌发送回去之前,您可以添加您想要的用户所需的任何索赔,甚至在您的情况下都会生成日志文件(我认为这不是一个非常有效的文件方式)。我希望这会有所帮助。

最新更新