Google+ プラットフォームのサインイン (gapi.auth) と ID プラットフォーム (gapi.auth2) は関連しており、同様に機能します。
両者の主な違いは次のとおりです。
gapi.auth2 はよりモダンな JavaScript ( listeners とpromise ) をサポートしているので、これを行うことができます:
var signinChanged = function (val) {
console.log('Signin state changed to ', val);
document.getElementById('signed-in-cell').innerText = val;
};
auth2.isSignedIn.listen(signinChanged);
...auth2 には、より明示的な構文があり、動作をより細かく制御できます。
gapi.load('auth2', function() {
auth2 = gapi.auth2.init({
client_id: 'CLIENT_ID.apps.googleusercontent.com',
fetch_basic_profile: true,
scope: 'profile'
});
// Sign the user in, and then retrieve their ID.
auth2.signIn().then(function() {
console.log(auth2.currentUser.get().getId());
});
});
また、auth2 は、追加の API 呼び出しを必要とせずに、基本的なプロファイル サポートを提供します。
if (auth2.isSignedIn.get()) {
var profile = auth2.currentUser.get().getBasicProfile();
console.log('ID: ' + profile.getId());
console.log('Name: ' + profile.getName());
console.log('Image URL: ' + profile.getImageUrl());
console.log('Email: ' + profile.getEmail());
}
つまり、https://developers.google.com/identity/sign-in/web/など、https://developers.google.com/identity/sign-in/に記載されているアプローチを使用することをお勧めします。
ログインを正しく実装するかどうかは、必要なサインインの種類によって異なります。
- クライアントのみ、JavaScript/iOS/Android クライアントのみを使用できます
- ハイブリッド クライアント サーバー認証。クイックスタートの 1 つに似たものを実装する必要があります。
クライアントのみを実行している場合は、非常に単純なはずです。ユーザーを承認してから、API クライアントを使用してリソースにアクセスします。セッションの管理など、より高度な作業を行う場合は、認証コードを使用してサーバーを認証した後、API クライアントから ID トークンを使用してユーザーのセッションを認証する必要があります。