Mvc WebApi OAuth令牌返回

时间:2019-05-21 07:49:09

标签: javascript authentication asp.net-web-api asp.net-web-api2 token

我已根据以下指南在WebApi上实现了身份验证: C-SharpCorner

无论如何,在实现后,它可以正常工作。但是,当我从邮递员呼叫令牌时,令牌会向我返回以下对象:

{
    "access_token": "oBXQaEgd6LkahHQhvOGak-HpsZTSSYlR8h7Rcz6q4twD4d0El6xq62j8OTWiW-Hhtn5y9y-Npw0byNlS1sG6l0UoKYrkBifpEYm9eXrx6CzcTPsOLMVkqcrrnYxxjJ6xZznM3SHMc8UVUV35PO7C9MOgQN-DaPf_YJVkEmdqotkrnGQavT40rmlGMb-NbzRKDPYCJ_xPXvgaX3JPX6kZNf7ObsOJS9fiexUc0rPA7vk",
    "token_type": "bearer",
    "expires_in": 14399,
    "userName": "TestUser",
    ".issued": "Tue, 21 May 2019 07:32:58 GMT",
    ".expires": "Tue, 21 May 2019 11:32:58 GMT"
}

此对象的最后两个变量以Period.issued.expires开头。我从没碰到过这种情况,我进行了研究,找不到这些点是什么,并且还复制/分配了此返回obj到浏览器控件上,当我尝试从obj = {".issued": "Tue, 21 May 2019 07:32:58 GMT"}这样的对象访问它们时,我无法看见了。我想这一定是为了私有化/封装,但是如果我错了怎么办?..

所以我的问题是,period作为最后两个变量的前缀的目的是什么以及它们如何工作。谢谢。

2 个答案:

答案 0 :(得分:1)

.issued只不过是创建该令牌时的时间戳,类似地,.expires是该令牌将过期的时间戳,您将需要续签或请求新令牌以对服务器进行身份验证。

后缀是后缀,因为它们只是可以具有任何名称的键。

答案 1 :(得分:1)

这个时期没有特别的意义,有人把它看作是使它在视觉上更容易识别它是一个财产。

您可以使用以下属性来访问这些属性:token[".expires"],对于您提供的示例,该属性将返回"Tue, 21 May 2019 11:32:58 GMT"