2013-01-12 6 views
0

J'essaye d'authentifier mon application web avec google oauth2. J'utilise vb.net comme code derrière.Authentifier mon application web avec google oauth2

À première étape j'ai ajouté un lien hypertexte qui redirigent à https://accounts.google.com/o/oauth2/auth?scope=https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.email+https%3A%2F%2Fwww.googleapis.com%2Fauth%2Fuserinfo.profile&state=%2Fprofile&redirect_uri=http%3A%2F%2Flocalhost:2690%2Ftest1.aspx&response_type=code&client_id=XXX.apps.googleusercontent.com

maintenant après avoir reçu le code de code, je code sur chargement de la page de test1.aspx

Protected Sub Page_Load(ByVal sender As Object, ByVal e As System.EventArgs) Handles Me.Load 
    If Not IsNullOrEmpty(Request.QueryString("code")) Then 
        Dim buffer As Byte() = Encoding.UTF8.GetBytes("code=" + Request.QueryString("code") + "&client_id=XXX.apps.googleusercontent.com&client_secret=XXX&redirect_uri=https%3A%2F%2Flocalhost:2690%2Ftest1.aspx&grant_type=authorization_code")  
     Dim req As HttpWebRequest = WebRequest.Create("https://accounts.google.com/o/oauth2/token") 
     req.Method = "POST" 
     req.ContentType = "application/x-www-form-urlencoded" 
     req.ContentLength = buffer.Length 

     Dim strm As Stream = req.GetRequestStream() 
     strm.Write(buffer, 0, buffer.Length) 
     strm.Close() 
     Try 
      Dim res As HttpWebResponse = req.GetResponse() 
      Response.Write(res.StatusDescription) 
     Catch wex As WebException 
      Response.Write(wex.Data.ToString + "<br/>" + wex.InnerException.ToString + "<br/>" + wex.Message + "<br/>" + wex.TargetSite.ToString) 
     End Try 


    End If 
End Sub 

Chaque fois que je reçois une mauvaise demande erreur du serveur. Aidez-moi s'il vous plaît à découvrir ce que je fais mal. J'ai également essayé d'utiliser dotnetopenauth mais chaque exemple utilise mvc et C# et je ne connais que vb.net. Merci pour votre aide ....

Répondre

0

Est-ce le code URL codant les valeurs dans le corps de la requête POST.

Gardez également à l'esprit que le code doit être échangé une fois pour les jetons.

Questions connexes