在loopback4中的express中行为类似response.redirect的代码?

在loopback4中的express中行为类似response.redirect的代码?,express,loopbackjs,loopback,Express,Loopbackjs,Loopback,我是环回4的新手。 我正在开发代码来获取谷歌访问令牌。 如何实现Express的重定向等功能 我已经用express成功地实现了它。 现在我想把它作为loopback4的一个独特特性来实现 基于Express的代码(已在运行) 环回4 @get('/googleiab/token/request') tockenRequest(): void { let oauth2Client = new OAuth2(client_id, client_secret, redirect_uri)

我是环回4的新手。 我正在开发代码来获取谷歌访问令牌。 如何实现Express的重定向等功能

我已经用express成功地实现了它。 现在我想把它作为loopback4的一个独特特性来实现

基于Express的代码(已在运行)

环回4

@get('/googleiab/token/request')
  tockenRequest(): void {
    let oauth2Client = new OAuth2(client_id, client_secret, redirect_uri);
    let url = oauth2Client.generateAuthUrl({
      access_type: 'offline',
      scope: scopes,
    });
    this.redirect('/googleiab/token/request', url, 301); //res.redirect(url);
    //return url;
  }

这将重定向到指定的Url。

为此,您需要使用RequestContext

见下文

将此注入添加到构造函数中

@inject(RestBindings.Http.CONTEXT)
protected reqContext: RequestContext
然后在tockenRequest方法中执行此操作

@get('/googleiab/token/request')
  tockenRequest(): void {
    let oauth2Client = new OAuth2(client_id, client_secret, redirect_uri);
    let url = oauth2Client.generateAuthUrl({
      access_type: 'offline',
      scope: scopes,
    });
    this.reqContext.response.redirect(url);
  }

希望能帮上忙。

很高兴我能帮上忙。
@get('/googleiab/token/request')
  tockenRequest(): void {
    let oauth2Client = new OAuth2(client_id, client_secret, redirect_uri);
    let url = oauth2Client.generateAuthUrl({
      access_type: 'offline',
      scope: scopes,
    });
    this.reqContext.response.redirect(url);
  }