Aurelia身份验证:如何获取用户id
我正在一个新项目中使用这个库。 到目前为止,一切似乎都是正确的,但我无法在导航栏上显示用户信息 该库提供了一些似乎可以提供此类信息的函数,如Aurelia身份验证:如何获取用户id,aurelia,aurelia-auth,Aurelia,Aurelia Auth,我正在一个新项目中使用这个库。 到目前为止,一切似乎都是正确的,但我无法在导航栏上显示用户信息 该库提供了一些似乎可以提供此类信息的函数,如getTokenPayload()。我试图访问此信息,以便在导航栏中显示用户id或用户名 我已经看到其他属性(如isAuthenticated())是通过这种方式访问的: nav bar.html: <ul if.bind="isAuthenticated" class="nav navbar-nav navbar-right"> <l
getTokenPayload()
。我试图访问此信息,以便在导航栏中显示用户id或用户名
我已经看到其他属性(如isAuthenticated()
)是通过这种方式访问的:
nav bar.html:
<ul if.bind="isAuthenticated" class="nav navbar-nav navbar-right">
<li><a href="/#/logout">Logout</a></li>
</ul>
我无法弄清楚,一旦用户通过身份验证,如何在导航栏上显示用户Id(通过
getTokenPayload()
函数获得)。(您可能需要调用isAuthenticated
以首先检查用户是否经过身份验证)。将NavBar
VM上的属性设置为令牌负载,然后使用数据绑定绑定到用户ID属性
然后,在NavBar
附加回调中设置EventAggregator
订阅,以订阅正确的auth
事件(可能是'auth:authenticate'
)并在该订阅的回调中调用getTokenPayload
,然后设置VM属性。这将确保在身份验证信息更改时更新属性
您将要订阅'auth:logout'
事件,并取消设置上面设置的VM属性。请在附加的
回调中设置此订阅
最后,确保在
导航栏
虚拟机的分离的
回调中处理这些订阅。您可以在附加的
回调中调用getTokenPayload
,以查看导航栏
(您可能需要调用isAuthenticated
,首先检查用户是否经过身份验证)。将NavBar
VM上的属性设置为令牌负载,然后使用数据绑定绑定到用户ID属性
然后,在NavBar
附加回调中设置EventAggregator
订阅,以订阅正确的auth
事件(可能是'auth:authenticate'
)并在该订阅的回调中调用getTokenPayload
,然后设置VM属性。这将确保在身份验证信息更改时更新属性
您将要订阅'auth:logout'
事件,并取消设置上面设置的VM属性。请在附加的
回调中设置此订阅
最后,请确保在
NavBar
VM的detached
回调中处理这些订阅。有一个完整的工作示例将非常有用。授权工作流涉及许多方面,我发现处理这些订阅很复杂,即使使用一些很好的库,例如SpoonX()中的库有一个完整的工作示例是非常有用的。授权工作流涉及许多方面,我发现处理这些方面很复杂,即使使用一些很好的库,例如Sponx()中的库
export class NavBar {
...
get isAuthenticated() {
return this.auth.isAuthenticated();
};