/ / Кінцеві точки Google Cloud без облікових записів Google - Google-app-engine, аутентифікація, google-хмарні кінцеві точки

Кінцеві точки Google Cloud для без облікових записів Google - Google-app-engine, аутентифікація, google-хмарні кінцеві точки

Наша веб-програма не підтримує автентифікацію облікових записів Google. Ми впровадили нашу власну автентифікацію за допомогою WebApp2 Authentication: http://webapp-improved.appspot.com/tutorials/auth.html.

Ми хочемо використовувати Cloud Endpoints як API для мобільних додатків / сторонніх розробників, але ми все одно хочемо використовувати oAuth2 для перевірки автентичності.

Які кроки потрібні для цього? Чи потрібно нам налаштувати наш власний сервер oAuth на AppEngine і чи буде клієнтські бібліотеки Google сумісними?

Відповіді:

1 для відповіді № 1

Ви не повинні нічого робити. У мене є федеративна програма входу в додаток, де я нещодавно додав програму для Android, в якій використовуються кінцеві точки Cloud. Вам не потрібно робити щось особливе, просто покладіть параметр користувача до вашої функції. У об'єкті користувача ви знайдете електронну адресу користувача, яку потрібно авторизувати, щоб отримати доступ до даних.

@Api(name = "my_api",
version = "v1",
scopes = {"https://www.googleapis.com/auth/userinfo.email"},
clientIds = {Constants.AUTH_CLIENT,
Constants.AUTH_CLIENT_APIEXPLORER})
public class MyEndpoint {
@ApiMethod(name = "fistEndpoint")
public ResponseObject fistEndpoint(User user) throws OAuthRequestException {
if (user == null) {
throw new OAuthRequestException("Access denied!");
}
String email = user.getEmail();
//Authorize the request here
//make the ResponseObject and return it
}
}

Після того, як ви створили візит кінцевої точки: https://your-app.appspot.com/_ah/api/explorer і протестувати

ОНОВЛЕНО: Наведений вище приклад обмежений акаунтами Google. Якщо ви хочете мати обліковий запис іншого типу, ви можете переглянути це повідомлення. Користувацька автентифікація для кінцевих точок Google Cloud (замість OAuth2)


0 для відповіді № 2

Кінцеві точки Google Cloud не є атрибутами, тому, якщо ви не використовуєте автентифікацію Google, ви не можете отримати пошту користувача в кінцеву точку.

Фактично, кінцеві точки - це просто HTTP-запит, щоб ви могли передавати інформацію про http-авторизацію, як носій. Ви маєте повний доступ до цієї інформації до кінцевих точок.

Я сподіваюсь, це допоможе вам.