Auf meiner Website möchte ich Nutzern erlauben, sich mit einem Google-Konto anzumelden. Ich habe vor, openid zu verwenden, möchte jedoch die Anmeldung bei Google zulassen, da dies mehr Vorteile bietet. Ich habe in der Vergangenheit einige Websites bemerkt, die sich mit einem Google-Konto (Google Mail) und IIRC anmelden können, obwohl sie openID NICHT unterstützen (aber ich könnte mich irren).
Wie implementiere ich "Mit Google anmelden"?
Wenn Sie OpenID verwenden möchten, verwenden Sie diese. Google ist bereits ein OpenID 2.0-Anbieter.
Der OpenID-Anbieter von Google befindet sich unter: https://www.google.com/accounts/o8/ud
(HINWEIS: Es hat keinen Sinn, diese URI in Ihrem Browser zu besuchen, sie funktioniert jedoch für OpenID.)
Dies wird hauptsächlich auf der Seite Accounts API behandelt, auf der auch OAuth und die hybriden und proprietären Anmeldesysteme behandelt werden. Abhängig von Ihrer Site möchten Sie möglicherweise auch - verwenden. Friend Connect , ein OpenSocial-Container, der intern OpenID zur Authentifizierung verwendet.
Ich bin natürlich voreingenommen gegenüber Friend Connect, da ich der DPE für dieses Projekt bin, aber Sie werden wahrscheinlich besser direkt mit dem OpenID-Anbieter bedient, wenn Sie nicht auch Dinge tun, die einen sozialen Graphen beinhalten.
Bearbeiten für 2012: Sie möchten OAuth 2.0 für die Anmeldung verwenden. GFC wird heruntergefahren .
Sie könnten interessiert sein an RPX , einer All-in-One-Lösung, mit der Benutzer auswählen können, welchen Identitätsanbieter sie für die Anmeldung bei Ihrer Website verwenden möchten . Nicht nur Google und OpenID werden unterstützt, sondern auch viele andere.
RPX kümmert sich um alle Details der Schnittstellen zu den einzelnen Identitätsanbietern und stellt Ihnen eine gemeinsame API zur Verfügung, mit der Sie arbeiten können.
Integration von Google Sign-In in Ihre Web-App
Erstellen Sie ein Google Developers Console-Projekt und eine Client-ID.
Laden Sie die Google Platform Library
Sie müssen die Google Platform Library in Ihre Webseiten aufnehmen, auf denen Google Sign-In integriert ist.
<script src="https://apis.google.com/js/platform.js" async defer></script>
Geben Sie die Client-ID Ihrer App an
Geben Sie die Client-ID, die Sie für Ihre App in der Google Developers Console erstellt haben, mit dem Metaelement google-signin-client_id an.
<meta name="google-signin-client_id" content="YOUR_CLIENT_ID.apps.googleusercontent.com">
Hinweis: Sie können die Client-ID Ihrer App auch mit dem Parameter client_id der Methode gapi.auth2.init () angeben.
Fügen Sie eine Google-Anmeldeschaltfläche hinzu
Der einfachste Weg, Ihrer Website eine Google-Anmeldeschaltfläche hinzuzufügen, ist die Verwendung einer automatisch gerenderten Anmeldeschaltfläche. Mit nur wenigen Codezeilen können Sie eine Schaltfläche hinzufügen, die sich automatisch so konfiguriert, dass Text, Logo und Farben dem Anmeldestatus des Benutzers und den von Ihnen angeforderten Bereichen entsprechen.
Fügen Sie Ihrer Anmeldeseite ein div-Element mit der Klasse g-signin2 hinzu, um eine Google-Anmeldeschaltfläche zu erstellen, die die Standardeinstellungen verwendet:
<div class="g-signin2" data-onsuccess="onSignIn"></div>
Andere Info. könnte gefunden werden hier
Andere mögliche Lösung ist
Verwenden von OAuth 2.0 für den Zugriff auf Google-APIs
Auth Protocols
Überblick über OAuth 2.0
OpenID Connect
OAuth 2.0 für serverseitige Web-Apps
OAuth 2.0 für JavaScript Web Apps
OAuth 2.0 für mobile und Desktop-Apps
Ich glaube, Sie suchen nach dem Google Accounts API .
Ich denke, was Sie wollen, ist Google Friend Connect
edit: Nein, du tust es nicht mehr, da es veraltet ist.
ich möchte jedoch die Anmeldung bei Google zulassen
Fügen Sie in diesem Fall den folgenden Code hinzu
[~ # ~] html [~ # ~]
<div id="mySignin" onclick="login()"><img src="google_image_here.png" alt="google" style="cursor:pointer;height: 60px;width: 309px;"/></div>
[~ # ~] js [~ # ~]
<script type="text/javascript">
function login()
{
var myParams = {
'clientid' : 'YOUR_CLIENT_ID.apps.googleusercontent.com',
'cookiepolicy' : 'single_Host_Origin',
'callback' : 'loginCallback',
'approvalprompt':'force',
'scope' : 'https://www.googleapis.com/auth/plus.login https://www.googleapis.com/auth/plus.profile.emails.read'
};
gapi.auth.signIn(myParams);
}
function loginCallback(result)
{
if(result['status']['signed_in'])
{
var request = gapi.client.plus.people.get(
{
'userId': 'me'
});
request.execute(function (resp)
{
/* console.log(resp);
console.log(resp['id']); */
var email = '';
if(resp['emails'])
{
for(i = 0; i < resp['emails'].length; i++)
{
if(resp['emails'][i]['type'] == 'account')
{
email = resp['emails'][i]['value'];//here is required email id
}
}
}
var usersname = resp['displayName'];//required name
});
}
}
function onLoadCallback()
{
gapi.client.setApiKey('YOUR_API_KEY');
gapi.client.load('plus', 'v1',function(){});
}
</script>
<script type="text/javascript">
(function() {
var po = document.createElement('script'); po.type = 'text/javascript'; po.async = true;
po.src = 'https://apis.google.com/js/client.js?onload=onLoadCallback';
var s = document.getElementsByTagName('script')[0]; s.parentNode.insertBefore(po, s);
})();
</script>
Sie können in openId ( http://openid.net/ ) nachschauen, was SO verwendet und von Google unterstützt wird.