Я пытаюсь предоставить логин Google для своего приложения Firebase. После 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: [email protected]
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: [email protected]
firebaseAuthToken: Q3Mjc4MzYsInYiOjAsImQiOnsiaWQiOiIxMDk0...
}
FirebaseSimpleLogin
. - person ivarni   schedule 06.07.2014