小编Mic*_*elS的帖子

JHipster:在向微服务进行API调用时接收401 Unauthorized

我目前正在使用Jhipster生成以下组件:

  • UAA - Auth服务器
  • API网关
  • 微服务 - 产品1
  • 服务发现 - 领事

其他组件:

  • 自定义前端(Angular 4) - 在一个单独的项目中

另外需要注意的是,自定义前端使用的是Jhipster angular 4代码,可以在vanilla Jhipster Api Gateway中找到.这包括customHttpProvider.

所包含的课程如下图所示: 在此输入图像描述

目前我能够使用此设置成功登录并在UAA上调用API,但是,当我尝试在产品上调用任何APIS时,我会获得401 Unauthorized,例如Post to Product1/api/zcd.

Consul中的服务都是可见的和绿色的,Gateway也有UAA和Product1作为注册和可用路线.

在此输入图像描述

到目前为止,我发现当我对Product进行api调用时,似乎没有调用AuthInterceptor.我尝试手动将jwt令牌附加到方法,这解决了问题,但我不明白为什么customHttpProvider不被用于拦截请求和附加令牌.

如下所示,当我手动插入令牌时,我的ProductService工作正常,但这显然不是正确的方法.

@Injectable()
export class ProductService {

    private options = new Headers();

    constructor(private http: Http) {
        this.options.append('Authorization', 'Bearer ' + 'token is inserted here');
    }

    priceProduct(productPriceRequest: productPriceRequest): Observable<IdResponse> {
        return this.http.post('Product1/api/zcd', productPriceRequest, { headers: this.options })
            .map(response => response.json());
    }
}
Run Code Online (Sandbox Code Playgroud)

lazy-loading axon angular

6
推荐指数
1
解决办法
1636
查看次数

标签 统计

angular ×1

axon ×1

lazy-loading ×1