2

我为我的 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
}

我希望这能以某种方式工作。

canActivate() {
  return this.oAuthService.hasValidAccessToken() ||
      this.router.parseUrl('/landing-page');
  }

这是我的后卫。如果设置了我的承载访问令牌,hasValidAccessToken()则必须返回 true。

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

4

1 回答 1

3

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

于 2019-06-28T08:12:43.780 回答