0

현재 앵귤러 파이어의 $authWithOAuthPopup 방법을 사용하고 있습니다. 로그 아웃에서 Firebase 세션은 끝났지 만 OAuth는 계속 유지됩니다 (의도 된 기능에 따라). 이 경우 link Link Explaining oAuth is separate workflow from app logout새 사용자 자격 증명 요청 방법 - Ionic & Firebase

그러나 $authWithOAuthPopup 재 로그인시 입력 자격 증명을 다른 사용자를 허용하지 않습니다.

사람들이 다른 사람이 로그인 할 수있는 솔루션을 구현하는 데 성공 했습니까? 예전 정보를 자동으로 사용하는 것과는 대조적으로 새로운 사용자가 새로운 로그인 자격 증명을 입력하는 것을 어떻게 허용합니까?

현재 동작 : 사용자 로그 아웃> 로그인 로그인> 앱은 이전 FB 세션 정보를 사용하여 로그인합니다. 원하는 동작 : 사용자를 기록> 로그인을 클릭하여 사용자의 FB 자격 증명> 로그인을 요청합니다.

$scope.logout = function() { 
    delete $localStorage.storageAuth; 
    Auth.$unauth(); 
    $state.go('user.signin'); 
}; 

감사합니다 :) 응용 프로그램 캐시를 취소하여 위의 아론 Saunder의 코멘트, 대신에

+0

이렇게하려면 Facebook에서 사용자를 서명해야합니다. https://groups.google.com/d/msg/firebase-talk/nOQW82_c9sQ/cLfb3-3FAAAJ –

+0

이온 포럼에서 제공 한 답변보기 https://forum.ionicframework.com/t/facebook- logout-with-firebase-ionic-clear-oauth-session-so-new-user-can-login/54557 –

+0

Frank, 그래서 모든 Cordova 프레임 워크 앱은 사용자가 로그 아웃하지 못하게하고 새로운 사용자 입력? 그건 그런 하위 파 솔루션 같아 ... 너는 비록 그것이 비록 진절머리 나는 일의 흐름 일지라도 이것을 어떻게 성취 할 수 있는지 알고 있니? – njho

답변

1

당신이 정말로 $ localStorage.storageAuth와 함께 무엇을하고 있는지 https://forum.ionicframework.com/t/facebook-logout-with-firebase-ionic-clear-oauth-session-so-new-user-can-login/54557/2?u=aaronksaunders

우리가 로그인/인증 코드를 볼 수 있습니다 이온 포럼 ...에 원래의 대답은 안 사용자의 로그인 상태를 관리 할 것이기 때문에 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(); 
}); 

설명서 참조 https://github.com/apache/cordova-plugin-inappbrowser1

0

, 우리는 (안드로이드 Marshmellow의 API> 23 이상)에 새로운 사용자 정보에 대한 메시지를 표시 할 수 있습니다. iPhone에서 확인하지 않았습니다.

웹 브라우저에서 개발하는 동안이 문제가 발생하지 않으므로이 테스트가 받아 들여지는 시점을 확인하려면 추가 테스트가 필요합니다.

이 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'); 
}; 
관련 문제