角度クライアントアプリケーションはそれがhttp://localhost:8080
上で実行されている春基づいて、RESTfulなAPIと通信http://localhost:4200
ユーザー認証情報をAngularアプリケーションに格納する場所はどこですか?
上で実行されているバックエンドの認証メカニズムはhttp basic
で、すべての要求の春のために内部的に資格証明書の正当性をチェックするためのフィルタを呼び出しますユーザーがログインするとAngularクライアントから渡されます。
ユーザーがログインすると、資格情報はBase64.encodeBase64
でエンコードされ、Authorization
ヘッダーに設定されます。
btoa関数は、Authorization
ヘッダーを設定するために使用されます。これはうまく動作し、TLS/ HTTPS
は、ネットワークを安全に通過するために資格情報を暗号化するために使用されます。
その後のリクエストでは、毎回同じ資格情報を渡す必要があります。だから、彼は後続の要求のために正常にログインした後、ユーザー資格情報をどこに保管するべきですか?例えば
、この要求:保存について
addEmployee(employee : Employee) : Observable<Response> {
return this.http.post('http://localhost:8080/employee/', JSON.stringify(employee),
{headers: this.getHeaders()}).map(res => res.json());
}
クッキー、またはLocalStorage。しかし、パスワードを保存することは本当に良い考えではありません。トークン(JWTトークンやセッショントークンなど)ははるかに安全です。 –
@JBNizet:しかし、バックエンドのHTTP基本認証機構は毎回ユーザー名とパスワードを要求します。 –
...バックエンドを変更してください。 –