首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Okta Auth Login

Okta Auth Login
EN

Stack Overflow用户
提问于 2020-10-27 09:54:14
回答 1查看 374关注 0票数 0

tl;dr:在执行await oktaAuthService.login('/');之后,将跳过下一个指令。

我有以下几点:

代码语言:javascript
复制
import {Injectable} from '@angular/core';
import {OktaAuthService} from '@okta/okta-angular';

@Injectable({
  providedIn: 'root'
})
export class AuthService {
  this.user = undefined;
  constructor(private oktaAuthService: OktaAuthService, private bkndSrv: BackendService) {}
  
async login() {
    await this.oktaAuthService.login('/');
    // the next 2 lines are not being executing!
    this.user = await this.oktaAuth.getUser();
    console.log("user: ", this.user);
  }

当我调用login()函数时,我被重定向到okta登录页面,并且成功地使用令牌重定向回定向。但是,我没有在屏幕上看到日志,即使在登录函数完成之后,this.user仍然没有定义。

任何帮助都将不胜感激!

EN

回答 1

Stack Overflow用户

发布于 2020-10-27 11:13:39

那么,重构到.then表示法就做到了。即

代码语言:javascript
复制
  login() {
    this. oktaAuthService.login('/').then(() => {
      this. oktaAuthService.getUser().then((user) => {
        this.user = user;
        console.log('user: ', this.user);
      });
    });
  }

但是,如果有人知道如何使用异步等待,请分享!

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/64551922

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档