Angular2 Typescript應用程序正在生成源.js文件。如何將jwt令牌應用於生成的Angular 2 JS文件?
在調試時,我觀察到授權標頭未定義。
我有jwt
定義的定製服務令牌。
我該如何將相同的jwt
令牌應用到生成的Angular2源代碼.js文件?
Angular2 Typescript應用程序正在生成源.js文件。如何將jwt令牌應用於生成的Angular 2 JS文件?
在調試時,我觀察到授權標頭未定義。
我有jwt
定義的定製服務令牌。
我該如何將相同的jwt
令牌應用到生成的Angular2源代碼.js文件?
這件事與生成的js文件無關。最簡單,最快和最舒適的解決方案是使用npm模塊angular2-jwt
。
npm install angular2-jwt
。配置app.module.ts這樣的:
import { AUTH_PROVIDERS } from 'angular2-jwt';
@NgModule({
...
providers: [
AUTH_PROVIDERS
],
...
})
然後,通過無處不在,你想用它在你的應用程序:
import { AuthHttp } from 'angular2-jwt';
this.authHttp.get('http://example.com/api/thing')
.subscribe(
data => this.thing = data,
err => console.log(err),
() => console.log('Request Complete')
);
這樣,你的請求將被驗證如果您在名爲id_token
的Cookie中擁有您的令牌。如果您想通過其他方法(localStorage,indexedDb ...)存儲您的令牌,請參閱模塊的文檔(https://github.com/auth0/angular2-jwt#configuration-options)以瞭解如何更改它,但這非常簡單。如果你需要它,我可以在這裏解釋它。
希望它有幫助。
據我瞭解你的短信,你只是想在http請求頭中發送令牌。我在我的應用程序上使用相同的策略,並且不使用任何額外的模塊。
我有一個認證請求,我存儲在localStorage的我的令牌:
this.http.post('/login', userCredentials).subscribe(
token => localStorage.addItem('Authorization', token),
error => this.handleError(error)
)
然後,我剛剛從localStorage的獲得令牌,並在我的請求頭使用它:
let options = { headers: new Headers() };
let jwt = localStorage.getItem('Authorization');
options.headers.append('Authorization', jwt);
return this.http.get('/api/request', options)
.map(result => result.json());
在我看來,如果你想解碼你的jwt,angular2-jwt是很有用的。
檢查此設置標記在http標頭http://stackoverflow.com/questions/34464108/angular2-set-headers-for-every-request – Sriram
你的問題不是很清楚,沒有代碼... ) – Maxime
嗨,夥計們,我的問題是 - 代碼(ts/js)文件的安全性 - 如果任何瀏覽器詢問生成的代碼(ts/js),那麼您需要給予我們更多的幫助; ,如果沒有jwt令牌存在,則應該應用此安全性,可以被重定向登錄。 – HydTechie