Angular 6.x /设置jsessionid cookie

我使用java和springboot

2.x开发了我的应用程序后端,另一方面,我有我的角度应用程序。我还使用OAuth2协议登录,我需要登录到Cookie后保存Google提供的JSESSION

ID,然后将其在每个请求中发送给后端应用。我读到有关使用HttpInterceptor的信息,但无法解决。有什么帮助吗?谢谢

回答:

您可以按照以下步骤使用它:

1: (@Injectable服务):

@Injectable()

export class SpringbootInterceptor implements HttpInterceptor {

constructor(public auth: AuthService) {}

intercept(request: HttpRequest<any>, next: HttpHandler): Observable<HttpEvent<any>> {

// Clone the request to add the new header

const clonedRequest = req.clone({ headers: req.headers.set('Set-Cookie', 'jsessionid=' + this.auth.getJSessionId()) });

// Pass control to the next request

return next.handle(clonedRequest);

}

}

请注意, 方法添加了作为参数提供的信息。

2: :

@NgModule({

bootstrap: [AppComponent],

imports: [...],

providers: [

{

provide: HTTP_INTERCEPTORS,

useClass: SpringbootInterceptor,

multi: true

}

]

})

现在,来自NgModule的任何请求都可以在 设置标头。

您可以在以下位置查看更多信息:

  • https://angular.io/api/common/http/HttpInterceptor
  • https://angular.io/api/http/Headers

以上是 Angular 6.x /设置jsessionid cookie 的全部内容, 来源链接: utcz.com/qa/421069.html

回到顶部