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();
  };