私は何の問題もなくJWT認証を機能させることができましたが、最新のブラウザーのみをサポートし、IE9以降のすべてで動作するには認証が必要です。
Angular2でCookieを使用する方法や例が見つかりませんでした。 localStorageを使用してトークンを保存する簡単な例があります。同じ機能が必要ですが、Cookieを使用します。
ネット上でこれに関する情報は何もないので、どんな助けも素晴らしいでしょう。
this.http.post("http://localhost:3001/sessions/create", creds, { headers: header })
.map(res => res.json())
.subscribe(
data => localStorage.setItem('id_token',data.id_token),
err => this.logError(err),
() => console.log("Auth is completed!")
);
これを解決する簡単な方法は、このlibを使用することです:
https://www.npmjs.com/package/ng2-cookies
このライブラリをインストールするには、次を実行します。
$ npm install ng2-cookies
使用法:
import { Cookie } from 'ng2-cookies/ng2-cookies';
Cookie.set('cookieName', 'cookieValue');
Cookie.set('cookieName', 'cookieValue', 10 /*days from now*/);
Cookie.set('cookieName', 'cookieValue', 10, '/myapp/', 'mydomain.com');
let myCookie = Cookie.get('cookieName');
/*
* List of cookies as Object, like: { cookieName: "cookieValue", cookieName2: "cookieValue2" ... etc }
*/
let cookielist = Cookie.getAll();
Cookie.delete('cookieName');
Cookie.deleteAll();
Angular 1からAngular 2までの関数を挿入可能なサービスとしてCookieサービスを実装しました。また、removeAll
関数をさらに、次の方法で入手できます。
npm install angular2-cookie --save
サービスとして注入した後、Angular 1:
this._cookieService.get(key);
this._cookieService.getObject(key);
// Other available methods are
// put(), putObject(), remove() and removeAll()
例と使用可能な機能については、readme部分を確認できます。
angularで最初にnpm
コマンド_npm install angular2-cookie --save
_を使用してCookieを使用する場合、
_app.module.ts
_ addにサービスを注入した後
_import { CookieService } from 'angular2-cookie/services/cookies.service';
_
またはプロバイダーにサービスを追加します。
_ providers: [CookieService]
_
使用したコンポーネントにCookieを追加した後、Cookieには7つの方法があります
1。)get():- This method returns the value of given cookie key.
2。)getObject() :- This method is returns the desterilized value of given cookie key
。
3。)get all():- This method returns a key-value object with all the cookies.
4。)put():- This method is used to set a value for given cookie key.
5。)putObject():- This method is used to serializes and set a value for given cookie key.
6。)remove(): -This method is used to remove given cookie
。
7。)remove all(): -This method is used to remove all cookies.
cookieのput/set値の場合:this._cookieService.put('key:string', 'value:string');
ここでcookie名としてキーex:_user1
_であり、値はset _any value
_の値です。
クッキーの値を取得する場合:this._cookieService.get('key');
コンポーネントからCookieを削除してからthis._cookieService.remove('key');