Я пытался создать 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
Похоже, это хорошо согласуется с тем, что описано в документации, так почему плохой запрос?
Я действительно застрял здесь. Спасибо за любую помощь!
Ларси