開発覚書はてな版

個人的な開発関連の備忘録

【Angular】Cookieベースのセッション管理を実施

概要

AngularのHttpClient利用時は標準ではCookieベースのセッション管理が出来ません。 旧システムの認証ではCookieベースのセッション管理が必要になる場合があります。

対応方法としてはget、post等のメソッドの引数に withCredentials: true を設定することでCookieベースセッション管理が出来るようになります。 以下にサンプルを備忘録として残しておきます。

動作環境

  • Angular 6.0.0

サンプルソース

import { Injectable } from '@angular/core';
import { HttpClient } from '@angular/common/http';
import { Observable } from 'rxjs';

@Injectable()
export class SampleService {

    constructor(private http: HttpClient) { }

    getData(): Observable<string> {
        // CookieベースセッションON
        return this.http.get<string>('url', { withCredentials: true });
    }
}

終わりに

毎回設定するのが面倒な場合は、HttpInterceptorで共通設定が可能です。 そのあたりは次回あたりにも記載します。

参考URL