Google 드라이브에 통합되어 설치 될 웹 앱을 만들려고합니다. 사용자가 내 앱의 파일을 만들고 드라이브에서 공유 할 수 있습니다. 나는 Firebase를 사용하여이 파일을 작성하려고 노력하고 있으므로 많은 새로운 기능을 활용할 수 있습니다. 그러나이 두 플랫폼에서 인증이 일관되게 작동하는 데 문제가 있습니다.Firebase에서 Google AccessToken을 새로 고치는 방법은 무엇입니까? #AskFirebase
오프라인 인증 및 새로 고침 토큰을 사용할 수 없으므로 클라이언트 측 앱입니다 (적어도 현재는).
Firebase 인증 전에는 Google Identity Toolkit with gapi을 사용합니다. 이는 일반적으로 잘 작동하지만 모바일 친화적이지 않은 팝업 흐름을 사용합니다.
gapi.signin2.render(elementId, {
longtitle: true,
width: 230,
height: 50,
theme: "dark"
});
var auth2 = gapi.auth2.init({
client_id: CLIENT_ID,
scope: SCOPES.join(" ")
});
auth2.isSignedIn.listen(signinChanged);
auth2.currentUser.listen(userChanged);
가피는 약간 어색하지만 작동합니다. 토큰 액세스는 평소처럼
gapi.auth2.getAuthInstance().currentUser.get().getAuthResponse(true));
를 호출하여 얻을 수 있습니다, 액세스 토큰에만 만료 후 한 시간 정도 지속합니다. 중요 문제는 새로 고침 된 액세스 토큰을 얻으려면 GoogleUser.reloadAuthResponse()으로 전화하면됩니다. 새로 고침 된 액세스 토큰이 아니라 새로 고침 토큰입니다.
이론적으로 Firebase를 사용하여 described here으로 인증하기 위해 액세스 토큰을 사용할 수 있으며 팝업 흐름으로 살기 만하면됩니다 (try to hack around that).
구글은 아이덴티티 툴킷이 파이어베이스 인증으로 대체되고 있으며 새로운 애플 리케이션은 파이어베이스를 사용해야한다고 말했다.
중포 기지는 구글과 인증에 대한 간단한 API가 있습니다. 인증시 AccessToken을 가져와 저장할 수 있습니다. 그래서 그것은 필자가 새롭고 향상된 Firebase 방식 인 인증을 구현해야하는 방법입니다. 또한 Firebase는 모바일 장치에서 작동하는 멋진 리디렉션 흐름을 제공합니다.Google Identity Toolkit의 최신 버전은 Firebase 인증으로 출시되었습니다. 여기에는 업그레이드 된 클라이언트 SDK, 오픈 소스 UI 라이브러리, 세션 관리 및 통합 이메일 전송 서비스 잊어 버린 암호 흐름이 포함됩니다.
새 프로젝트는 Firebase 인증을 사용해야합니다. 기존 프로젝트를 Identity Toolkit에서 Firebase 인증으로 마이그레이션하려면 마이그레이션 가이드를 참조하십시오.
그러나 큰 문제 ...
이 액세스 토큰을 얻을 것이다있다.
firebase.auth().getRedirectResult().then(function(result) {
if (result.credential) {
// This gives you a Google Access Token. You can use it to access the Google API.
var token = result.credential.accessToken;
// ...
}
// The signed-in user info.
var user = result.user;
})
액세스 토큰을 사용할 수 나는 시간에 대한 ... 읽기/드라이브, 에 기록하는 데 사용할 수 있습니다. 일단 토큰이 만료되면 더 이상 아무것도 할 수 없습니다. 사용자는 여전히 Firebase에 로그인되어 있으므로 Firebase 서비스를 계속 사용할 수는 있지만 드라이브에 액세스하려면 사용자가 다시 로그인해야합니다. 이러면 안돼!
나는 Firebase에 GoogleUser.reloadAuthResponse()을 찾고 있습니다.
- 어떻게하면됩니까?
- Firebase 서비스와 G Suite 모두에 액세스하는 웹 응용 프로그램을 만드는 데 권장되는 방법은 무엇입니까?
- 공식적인 예가 있습니까?
[forum] (https://groups.google.com/forum/#!msg/firebase-talk/wAcJFfQlFeg/IUuJXNcgDHgJ)을 확인하는 것이 좋습니다. 조금 오래되었지만 새로 고침 토큰을 얻는 방법에 대해 설명했습니다. 또한 관련 [포럼] (https://groups.google.com/forum/#!topic/firebase-talk/ZPW3xtwn8g0)에서 발생한 문제에 대해 이야기합니다. 이 문제와 관련하여 업데이트가 있는지 확실하지 않지만 포럼에서 해결 방법을 적용 할 수 있다고 생각합니다. 희망이 도움이됩니다. –
응답 및 링크 주셔서 감사합니다. 그것들은 약간 날짜가 있습니다. 특히 구글이 파이어베이스를 인수하기 전의 것입니다. 나는 Google 인증을 사용하지 않고 새로 고침 토큰이있는 서버의 스크래치에서 직접 구현하는 막연한 논평 이외에 실행 가능한 해결 방법을 보지 못했습니다. :( Google API에 대한 확장 된 인증을 지원하지 않는 경우, ID Toolkit 대신 Firebase의 Google Auth를 사용하는 것이 대중적으로 권장되는 이유를 이해할 수 없습니다. Google의 누군가가 응답하고 확실한 안내. – Gary