我已根据以下指南在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
作为最后两个变量的前缀的目的是什么以及它们如何工作。谢谢。
答案 0 :(得分:1)
.issued
只不过是创建该令牌时的时间戳,类似地,.expires
是该令牌将过期的时间戳,您将需要续签或请求新令牌以对服务器进行身份验证。
后缀是后缀,因为它们只是可以具有任何名称的键。
答案 1 :(得分:1)
这个时期没有特别的意义,有人把它看作是使它在视觉上更容易识别它是一个财产。
您可以使用以下属性来访问这些属性:token[".expires"]
,对于您提供的示例,该属性将返回"Tue, 21 May 2019 11:32:58 GMT"
。