有没有办法在“angular-oauth2-oidc”包中设置自定义承载访问令牌?

Ste*_*fan 3 php typescript laravel-socialite ionic4 angular-oauth2-oidc

我已经为我的 Facebook 登录创建了一个自定义端点。该端点从客户端接收 Facebook 访问令牌。我通过“@ionic-native/facebook/ngx”包在我的客户端(Ionic App)中获取此令牌。

在 Laravel Json API 的控制器内,我搜索带有 Socialite 的用户,并插入了 Facebook 访问令牌。获取用户后,我从中生成一个承载访问令牌。响应是此承载访问令牌。

在我的客户端中获取此承载访问令牌后,我需要以某种方式将其添加到“angular-oauth2-oidc”服务中。我已经有一个正常的密码流,但如何实现自定义隐式流,以便我可以将此给定的承载访问令牌设置到我的服务?

我已经尝试过 tryLogin() 但此方法仅适用于我的正常登录端点。我现在确实有两个端点:“.../oauth/token”(正常)和“.../oauth/facebook/token”(facebook)。

public setAccessToken(bearerAccessToken){
//Code to set the given access token in my oAuthService
}
Run Code Online (Sandbox Code Playgroud)

我希望这能以某种方式发挥作用。

canActivate() {
  return this.oAuthService.hasValidAccessToken() ||
      this.router.parseUrl('/landing-page');
  }
Run Code Online (Sandbox Code Playgroud)

这是我的守护者。如果我的 Bearer 访问令牌已设置,hasValidAccessToken()则必须返回 true。

我希望“angular-oauth2-oidc”中有一个可以使用的 setAccessToken 函数。

Ste*_*fan 5

自己找到了解决方案,以下解决了问题: this.oAuthStorage.setItem('access_token', bearerAccessToken);