2017-04-19 1 views
0

Je veux créer un bouton, dans un projet webforms, qui me redirige vers google login. Après un journal d'utilisateur je veux obtenir quelques données de base de son profil, comme l'email et le nom.Intégrer Google login dans le projet webforms

J'ai essayé [Nemiro] [1]

[1]: asp.net webforms google login mais j'ai des problèmes whit (même petit morceau l'exemple par défaut qui renvoie une erreur 401).

J'ai essayé

var credentials = 
        GoogleWebAuthorizationBroker.AuthorizeAsync(
          new ClientSecrets { ClientId = "client-Id", ClientSecret = "client-secret" }, 
          new[] { "openid", "email" }, "user", CancellationToken.None,null); 

Et ça marche, mais seulement sur localhost. Je ne sais pas comment changer l'uri de redirection et à cause de cela, je ne pense pas que cela fonctionnera quand je vais le télécharger sur le serveur.

En outre, sur YouTube, j'ai vu qu'ils se connectent à google avec un IAppBuilder, mais je ne peux pas l'utiliser dans mon projet.

Répondre

0

Vous voudrez peut-être supprimer votre clientid et secret de ce site, mais aussi dans votre application. La solution suivante fonctionne pour moi:

var googleoptions = new GoogleOAuth2AuthenticationOptions 
     { 
      ClientId = ConfigurationManager.AppSettings["gid"], 
      ClientSecret = ConfigurationManager.AppSettings["gsecret"] 
     }; 
     googleoptions.Scope.Add("https://www.googleapis.com/auth/plus.me"); 
     googleoptions.Scope.Add("https://www.googleapis.com/auth/plus.login"); 
     googleoptions.Scope.Add("https://www.googleapis.com/auth/userinfo.email"); 
     googleoptions.Scope.Add("https://www.googleapis.com/auth/userinfo.profile"); 
     app.UseGoogleAuthentication(googleoptions); 

N'oubliez pas de stocker votre ID et secret dans appsettings.

Pour le faire fonctionner sur d'autres endroits que localhost, vous devrez ajouter cette URL à la liste dans le Developersconsole of google

+0

Une question. Qui est "app" et comment puis-je le relier à un bouton? –

+0

"app" est IAppBuilder ajouté à la configuration de démarrage. Dans le dossier "app_start" -> "startup.auth.cs" –

+0

Je ne l'ai pas et je ne peux pas modifier le démarrage –