Google OAuthProvider для ServiceStack.net - PullRequest
2 голосов
/ 31 марта 2012

Я пытался создать Google oauthprovider с помощью servicetack, но у меня возникли небольшие проблемы.(Я следую описанию Google здесь Использование OAuth 2.0 для приложений веб-сервера

Я получаю (что кажется правильным) код от https://accounts.google.com/o/oauth2/auth, но когдаЯ пытаюсь обработать ответ (используя это:)

var tmp = "client_id={0}&redirect_uri={1}&client_secret={2}&code={3}&grant_type=authorization_code".Fmt(this.ConsumerKey, this.CallbackUrl, this.ConsumerSecret, code);
var contents = "https://accounts.google.com/o/oauth2/token".PostToUrl(tmp, "application/x-www-form-urlencoded");

Я получаю обратно неверный запрос 400. Глядя на fiddler (с URL, измененным на http), я вижу следующее:

POST http://accounts.google.com/o/oauth2/token HTTP/1.1
Accept: application/x-www-form-urlencoded
Host: accounts.google.com
Content-Length: 239
Expect: 100-continue

client_id=280348863874-ANDSOMEMOREDATase.apps.googleusercontent.com&
redirect_uri=http://localhost:49492/api/auth/google&
client_secret=NVHANDSOMEMOREDAT&
code=4/TWHupGxEXBQANDSOMEMOREDATA&
grant_type=authorization_code

Похоже, это хорошо согласуется с тем, что описано в документации, так почему плохой запрос?

Я действительно застрял здесь. Спасибо за любую помощь!

Ларси

...