私はangularjsを終了しました。私はそれに認証サービスを持つファクトリサービスを作成しました。認証が成功すると、ダッシュボードサービスに必要なトークンが生成されます。私はトークンを生成することができますが、それを使用する方法を理解していません。angularjsで定義されていないオブジェクト
は、必要なので、私はコントローラに注入しなければならないトークンを取得するために工場サービスを作成することをお勧めしますか?
ご協力いただきありがとうございます。ありがとうございました。
login.htmlと:
<div ng-app="loginFormApp" ng-controller="loginFormCtrl">
<form method="post" action="" id="login_form" class="row">
<input type="text" placeholder="Login ID" ng-model="loginId" >
<input type="password" placeholder="Password" ng-model="password" >
<input type="button" class="btn btn-theme" ng-click="loginCall()" value="Login">
<input type="button" class="btn btn-theme" ng-click="loginCall()" value="Register Here">
</form>
</div>
私のコントローラと工場出荷時のサービス:(authService.js)
var app = angular.module('loginFormApp', []);
app.controller('loginFormCtrl', function ($scope, AuthService) {
$scope.loginCall = function() {
var token= AuthService.authentication($scope.loginId, $scope.password);
alert(token);
};
});
app.factory('AuthService', function ($http) {
return {
authentication: function (UserName, Password) {
$http.post("http://103.19.89.152:8080/ccp-services/authenticate", {
'userName': UserName,
'password': Password
})
.then(function (response) {
window.location.href = "http://192.168.1.144:2000/angular/dashboard.html";
var getToken = response.data.httpHeaders.h5cAuthToken;
// alert(token);
},
// Error Handling
function (response) {
console.log(response.datas);
});
}
}
});
トークンをsessionStorageに格納できます。詳細はこちら[こちら](https://auth0.com/blog/2014/01/07/angularjs-authentication-with-cookies-vs-token/) – Matheno
システムの複数の領域それはトークンを必要とし、すべてがこのサービスに当たって、それぞれが理想的ではない遠い独自の要求をサーバーに出すでしょう。1つのリクエストを作成し、そのレスポンスを何らかの形でキャッシュするだけで、他のすべてがキャッシュされたバージョンを取得する必要があります。受信されるトークンをブロードキャストするための別個の約束またはイベントを可能にする。どのようにトークンを使用していますか?そのヘッダーの中にインターセプターを実装してコントローラなどを扱う必要がない場合(すべてが一度あなたのサービスから約束を返すことになっていれば) – ste2425