0

Merhaba Web sitesine bağlı olmadıkları halde kullanıcı e-postalarını okuyabilen bir web uygulaması yapmaya çalışıyorum. Buradaki adımları Google Sign-In for Websites'da takip ettim ve bana bir yetkilendirme kodu veren bir javascript Giriş sayfası hazırladım. 7. adımda, bir erişim belirteci için yetki kodunu, xmlhttprequest aracılığıyla sunucuya göndererek değiştireceğinizi söylüyorlar. Sorunlarım, sunucu tarafına kodun nasıl gönderileceğini bilmiyorum ve nasıl yapsam da belirteci yenilemek veya kullanıcı verilerini asp olarak almak için nasıl kullanacağımı bilmiyorum, DotNetOpenAuth'u nasıl kullanacağımı araştırdım ama Sorunumda bana yardımcı olacak bir eğitici bulamadım. BöyleBir ASP.NET web uygulamasında Google'ın kullanıcı belirteci ve yetkilendirme kodu

cevap

0

Merhaba yapabileceğiniz bir şey:

IAuthorizationCodeFlow flow = 
new GoogleAuthorizationCodeFlow(newGoogleAuthorizationCodeFlow.Initializer 
     ClientSecrets = new ClientSecrets 
{ 
    ClientId = "yourClientId", 
    ClientSecret = "yourClientSecret" 

}); 
TokenResponse response = flow.ExchangeCodeForTokenAsync("", "authorization_code_you_generated_in_client", "postmessage", CancellationToken.None).Result; 

Bu, erişim belirteci vermelidir. Yenileme jetonunu yalnızca javascript isteğinde "access_type" : "offline" belirtmişseniz alacaksınız. Ayrıca, tekrar refresh_token almak için "approval_prompt" : "force"'u da kullanmak isteyebilirsiniz.

+0

Teşekkür ederim, GoogleWebAuthorizationBroker'ı kullandım, ancak bununla çevrimdışı erişim elde etme konusunda zorluk yaşıyorum, herhangi bir fikrin var mı? –

+0

Deneyimlerime göre, GoogleWebAuthorizationBroker masaüstü uygulamaları için daha iyi, senaryoda GoogleAuthorizationCodeFlow kullanıyorum. Refresh_token'ı almak için bahsettiğim gibi access_type ve confirmation_prompt'i istemci tarafında belirttiniz mi? –

İlgili konular