在客户端更新用户声明的正确方法

时间:2015-10-08 11:56:17

标签: asp.net oauth identity claims-based-identity jwt

目前我正在开展项目工作,我们使用jwt令牌在asp.net身份上实现了oauth。到目前为止,一切都很好,似乎是正确的,但最近我们遇到了问题。它更具建筑性而非技术性。我试图寻找最佳实践,找不到任何有价值的东西,所以也许你可以提供帮助。

现在问题:想象一下,你有jwt(或任何其他)令牌,它包含一些可以在客户端使用的声明。下一步是用户更新一些信息,这些信息在令牌中表示为声明(例如电话号码)。

问题:在令牌中反映这种变化的正确方法是什么?首先,我想到的是刷新令牌,因此只要用户更新了一些敏感数据,就会请求刷新令牌并且它将包含更新的信息。但是如果我不使用刷新令牌怎么办?当用户退出时,我必须等待,然后在下次登录后,发出带有更新声明的新令牌。

其他选项是注销用户并强迫他再次登录,但从用户体验的角度来看,这并不是一个好主意

第三件事是摆脱索赔并将此信息存储在本地存储或其他地方,并在电话号码更新时自动更新。但在这种情况下,这意味着我必须放弃索赔,我也不喜欢。

有人能指出正确解决这个问题吗?

由于

1 个答案:

答案 0 :(得分:0)

在这种情况下,最好的做法是使用刷新令牌,因为此过程不会提示用户,所有内容都将在后台完成。 要进行深入分析,您可以看到this