Başka bir üçüncü tarafla yapmamız gereken bir OAuth2 entegrasyonunu ortaya çıkarmak için Google Takvim API'sini kullanmaya çalışıyorum. DotNetOpenAuth kütüphanesini kullanıyorum ve İzin Ver/Reddet komut istemi için Google'a ilk yönlendirmeyi ve yetkilendirme kodunu geri alabildim.OAuth2 yenileme belirteci alınıyor
Şimdi erişim belirteci ve yenileme belirteci almam gerekiyor, ancak yalnızca bir erişim belirteci aldım gibi görünüyor, yenileme belirteci boş.
Bu, Google kullanıcı Kabul sonra geri yönlendirir veya Yalanladı benim denetleyicisi eylem yöntemidir:
public ActionResult ProcessResponse(string state, string code, string error)
{
var oAuthClient =
new WebServerClient(
new AuthorizationServerDescription
{
TokenEndpoint = new Uri("https://accounts.google.com/o/oauth2/token"),
AuthorizationEndpoint = new Uri("https://accounts.google.com/o/oauth2/auth"),
ProtocolVersion = ProtocolVersion.V20
},
_applicationId,
_secret)
{
AuthorizationTracker = new TokenManager()
};
var authState = oAuthClient.ProcessUserAuthorization();
var accessToken = authState.AccessToken;
var refreshToken = authState.RefreshToken;
return View(new[] { accessToken, refreshToken });
}
Herhangi bir fikir?
DÜZENLEME:
Ben kurulum aynı Yukarıda yaptıklarını oAuthClient, yetkilendirme kodu almak ve bu yöntemi kullanmak için:
oAuthClient.RequestUserAuthorization(new[] { "https://www.googleapis.com/auth/calendar" }, returnUrl);
Lütfen, orijinal yetkilendirme isteğini gönderdiğiniz yolu belirtmek için lütfen sorunuzu düzenleyin. –
@AndrewArnott Bitti; Sadece RequestUserAuthorization' için tek bir çağrı. – Andy
İsteğinize daha fazla bağlam ekleyebilir misiniz? Örneğin, isteği göndermek için kullandığınız "oAuthClient" nasıl oluşturuyorsunuz? –