2013-10-08 4 views
0

Я делаю приложение, которое использует Kinvey в качестве бэкэнд. Я хочу получить доступ к Github api. Мне нужен пользователь для аутентификации с помощью OAuth. Могу ли я сделать это с помощью Business Logic? Насколько я могу судить, каждый запрос должен быть аутентифицирован как пользователь, когда Github redirects в моей бизнес-логике он не будет иметь эти учетные данные. Я чувствую, что мне не хватает чего-то простого (никогда не работал с oauth раньше).Kinvey Github API

Можно ли это сделать только с Кинви?

+0

Привет - Я инженер с Кинви. Можете ли вы предоставить дополнительную информацию о вашем случае использования и о том, что вы пытаетесь выполнить? Кроме того, с какой платформой вы работаете? Я не уверен, что бизнес-логика - лучшее решение для того, чего вы пытаетесь достичь, но можете предложить некоторые рекомендации с дополнительной информацией. – mjsalinger

+0

Я пытаюсь получить доступ к звездам пользователей Github. Я хочу связать пользователя Kinvey с их учетной записью Github. Для этого мне нужно реализовать Githubs [поток веб-приложений] (http://developer.github.com/v3/oauth/#web-application-flow). Частью этого является [обратный вызов сервера] (http://developer.github.com/v3/oauth/#github-redirects-back-to-your-site). Я использую библиотеку HTML5. – giodamelio

ответ

1

Обратный вызов OAuth2 не обязательно должен быть в Кинви. Если пользователь взаимодействует с системой и авторизует токен через OAuth, перенаправление должно быть действительно возвращено на ваш веб-сервер - таким образом, пользователь перенаправляется от страницы авторизации и обратно на ваш сайт. Оттуда вы можете получить маркер из строки запроса URL-адреса обратного вызова, сделать запрос на сохранение этого токена в Kinvey и перенаправить пользователя на соответствующую страницу вашего сайта.

Если вы выполняете поток OAuth на стороне сервера, вы можете настроить обратный вызов как любую коллекцию (для этой цели вы можете создать фиктивную коллекцию.) Конечные точки не будут работать для этого, поскольку конечные точки только в настоящее время принимают запросы POST , а обратный вызов OAuth2 - это запрос GET. В этом случае вы должны создать конечную точку предварительного сохранения, которая получает обратный вызов, получает токен из строки запроса и затем выполняет любую обработку, которую он должен выполнить.