2015-11-03 13 views
13

私はすべての仕事をJWTの認証にすることができましたが問題はありませんが、現代のブラウザのみをサポートしており、IE9以降のすべてでAuthを使用する必要があります。localstorageの代わりにAngular2クッキー

Angular2でCookieを使用する方法や例が見つかりませんでした。トークンを保存するためにlocalStorageを使用する単純な例がありますが、私は同じ機能が必要ですが、クッキーで完了しました。

これはネット上に何もないので、どんな助けも素晴らしいでしょう。

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!") 
    ); 

答えて

23

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

は理論的には、([それが望ましいだろう]の質問に答えることが// meta.stackoverflow.com/q/8259 )ここに回答の重要な部分を含めて、参考のためのリンクを提供してください。 –

4

私は実現する注入可能なサービスとして、角度1から角度2までの機能を有するクッキーサービスを提供した。また、プラスとしてremoveAll機能が追加されました。

npm install angular2-cookie --save 

サービスとしてそれを注入した後、あなたが角度1のような方法を使用することができます:あなたがそれを得ることができ

this._cookieService.get(key); 
this._cookieService.getObject(key); 
// Other available methods are 
// put(), putObject(), remove() and removeAll() 

あなたは例や利用可能な機能のreadme一部を確認することができます。 、角度の最初の実行npmコマンドnpm install angular2-cookie --saveで使用するクッキーのために

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

0


app.module.tsであなたのサービスを注入した後

import { CookieService } from 'angular2-cookie/services/cookies.service'; 

を追加したり、プロバイダでサービスを追加

providers: [CookieService] 

あなたのcにクッキーを追加した後クッキーには7つの方法があります。
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.

/クッキーで設定した値:クッキーの名前の元としてthis._cookieService.put('key:string', 'value:string');ここで重要:user1と値が設定any valueためです。クッキーでGET値について

this._cookieService.get('key');

コンポーネントから削除クッキーのためには、この一方でthis._cookieService.remove('key');

関連する問題