web-dev-qa-db-ja.com

localstorageではなくAngular2 Cookie

私は何の問題もなく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!")
    );
20
Milan Milanovic

これを解決する簡単な方法は、この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();
30
Exdcarca

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部分を確認できます。

https://github.com/salemdar/angular2-cookie

4
s.alem

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');

1
Brijesh Mavani