如何请求新用户凭据 - Ionic 和 Firebase
How to ask for new user credentials - Ionic & Firebase
我目前正在使用 AngularFire 的 $authWithOAuthPopup
方法。注销时,Firebase 会话结束,但 OAuth 仍然存在(根据预期功能)。 link
Link Explaining oAuth is separate workflow from app logout
但是,如果发生这种情况,$authWithOAuthPopup
不允许其他用户在重新登录时输入凭据。
有人成功实施了允许其他人登录的解决方案吗?有人会如何允许新用户输入新的登录凭据而不是自动使用旧信息?
当前行为:注销用户 > 点击登录 > 应用程序使用之前的 FB 会话信息登录。
通缉行为:注销用户 > 单击登录 > 询问用户的 FB 凭据 > 登录。
$scope.logout = function () {
delete $localStorage.storageAuth;
Auth.$unauth();
$state.go('user.signin');
};
谢谢:)
代表 Aaron Saunder 上面的评论,通过清除应用程序缓存,我们能够提示输入新用户信息(至少在 Android Marshmellow API > 23 上)。我还没有确认 iPhone。
在 Web 浏览器上的开发过程中,它并没有表现出这种行为,所以我想需要进一步测试才能确定何时可以接受。
使用 ngCordova $cordovaInAppBrowser
:
$scope.logout = function () {
var options = {
location: 'yes',
clearcache: 'yes',
toolbar: 'no',
hidden: 'yes'
};
$rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){
$cordovaInAppBrowser.close();
});
$cordovaInAppBrowser.open('http://www.google.com', '_blank', options);
Auth.$unauth();
$state.go('user.signin');
};
我们能看到 login/auth 代码吗...你在用 $localStorage.storageAuth 做什么?你真的不需要它用于 firebase,因为它会为你管理用户的登录状态。 ..我相信...
but you can try and clear the cookies/session information
// _blank loads in background, might need clearsessioncache
var ref = window.open(url, '_blank', 'location=no,toolbar=no,clearcache=yes');
// attach a listener to the window which closes it when complete
ref.addEventListener('loadstop', function(event) {
ref.close();
});
我目前正在使用 AngularFire 的 $authWithOAuthPopup
方法。注销时,Firebase 会话结束,但 OAuth 仍然存在(根据预期功能)。 link
Link Explaining oAuth is separate workflow from app logout
但是,如果发生这种情况,$authWithOAuthPopup
不允许其他用户在重新登录时输入凭据。
有人成功实施了允许其他人登录的解决方案吗?有人会如何允许新用户输入新的登录凭据而不是自动使用旧信息?
当前行为:注销用户 > 点击登录 > 应用程序使用之前的 FB 会话信息登录。 通缉行为:注销用户 > 单击登录 > 询问用户的 FB 凭据 > 登录。
$scope.logout = function () {
delete $localStorage.storageAuth;
Auth.$unauth();
$state.go('user.signin');
};
谢谢:)
代表 Aaron Saunder 上面的评论,通过清除应用程序缓存,我们能够提示输入新用户信息(至少在 Android Marshmellow API > 23 上)。我还没有确认 iPhone。
在 Web 浏览器上的开发过程中,它并没有表现出这种行为,所以我想需要进一步测试才能确定何时可以接受。
使用 ngCordova $cordovaInAppBrowser
:
$scope.logout = function () {
var options = {
location: 'yes',
clearcache: 'yes',
toolbar: 'no',
hidden: 'yes'
};
$rootScope.$on('$cordovaInAppBrowser:loadstop', function(e, event){
$cordovaInAppBrowser.close();
});
$cordovaInAppBrowser.open('http://www.google.com', '_blank', options);
Auth.$unauth();
$state.go('user.signin');
};
我们能看到 login/auth 代码吗...你在用 $localStorage.storageAuth 做什么?你真的不需要它用于 firebase,因为它会为你管理用户的登录状态。 ..我相信...
but you can try and clear the cookies/session information
// _blank loads in background, might need clearsessioncache
var ref = window.open(url, '_blank', 'location=no,toolbar=no,clearcache=yes');
// attach a listener to the window which closes it when complete
ref.addEventListener('loadstop', function(event) {
ref.close();
});