Firebase アプリケーションに Google ログインを提供しようとしています。https://www.firebase.com/docs/security/simple-login-overview.htmlに従ってください
ログインに成功すると、ユーザーを取得できるように見えるため、たとえば Angular スコープ ($scope.loggedInUser など) に格納できます。(実装によっては、Angular である必要はありません)
私の質問は、多くの認証トークンを使用して Firebase から返されたユーザーが公開される可能性があることはセキュリティ リスクですか? コードは Javascript で書かれているため、ハッカーは何らかのコードをブラウザーに埋め込むことで、ユーザーをハイジャックして盗むことができるはずです。
私の懸念を引き起こすビットは次のとおりです。accessToken、firebaseAuthToken
それがリスクである場合、どうすればそれを確保できますか?
認証とユーザー データについては、以下のコードを参照してください。
認証用のコードは次のとおりです。
authModule.controller( 'AuthController', [
'$scope',
'$firebase',
function ( $scope, $firebase ) {
var ref = new Firebase( 'https://test123.firebaseio.com' );
var auth = new FirebaseSimpleLogin( ref, function ( error, user ) {
if ( user ) {
$scope.loggedInUser = user; // user has authenticated, this user contains security information
}
} );
$scope.login = function () {
auth.login( "google", {
scope: 'https://www.googleapis.com/auth/plus.login'
} );
};
}] );
LoggedInUser に含まれるもの (これはサンプル データです):
loggedInUser: {
id: 7058267704789236427849
uid: google:7058267704789236427849
displayName: Joe Bloggs
provider: google
thirdPartyUserData: {
id: 709139364278942374
email: test@gmail.com
verified_email: true
name: Joe Bloggs
given_name: Joe
family_name: Bloggs
link: https://plus.google.com/2672340913423423
picture: https://lh3.googleusercontent.com/.../photo.jpg
gender: male
locale: en-GB
}
accessToken: W8k8dD6vvLEdlWa-dxkJD8lvWIwzea6m_86um8...
email: test@gmail.com
firebaseAuthToken: Q3Mjc4MzYsInYiOjAsImQiOnsiaWQiOiIxMDk0...
}