/ / Punkty końcowe Google Cloud bez kont Google - Google-app-engine, uwierzytelnianie, punkty końcowe Google Cloud

Google Cloud Endpoints bez kont Google - google-app-engine, uwierzytelnianie, google-cloud-endpoints

Nasza aplikacja internetowa nie oferuje uwierzytelniania kont Google. Wdrożyliśmy własne uwierzytelnianie przy użyciu uwierzytelniania WebApp2: http://webapp-improved.appspot.com/tutorials/auth.html.

Chcielibyśmy używać Cloud Endpoints jako API dla aplikacji mobilnych / programistów zewnętrznych, ale nadal chcielibyśmy używać oAuth2 do uwierzytelniania.

Jakie kroki należy wykonać, aby to wdrożyć? Czy musimy skonfigurować własny serwer oAuth na AppEngine i czy biblioteki klienta Google będą kompatybilne?

Odpowiedzi:

1 dla odpowiedzi № 1

Nie musisz nic robić. Mam stowarzyszoną aplikację do logowania na App-Engine, w której niedawno dodałem aplikację na Androida korzystającą z punktów końcowych w chmurze. Nie musisz nic specjalnego robić, po prostu wstaw parametr User do swojej funkcji. W obiekcie User znajdziesz e-mail użytkownika, który musisz autoryzować, aby uzyskać dostęp do danych.

@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
}
}

Po utworzeniu wizyty w punkcie końcowym: https://your-app.appspot.com/_ah/api/explorer i przetestuj to

ZAKTUALIZOWANE: Powyższy przykład jest ograniczony do kont Google. Jeśli chcesz konto innego typu, możesz sprawdzić ten post: Niestandardowe uwierzytelnianie dla punktów końcowych Google Cloud (zamiast OAuth2)


0 dla odpowiedzi nr 2

Punkty końcowe Google Cloud są bezstanowe, więc jeśli nie korzystasz z uwierzytelnienia Google, nie możesz odzyskać wiadomości e-mail użytkownika do punktu końcowego.

W rzeczywistości punkty końcowe to po prostu żądanie HTTP, dzięki czemu możesz przekazać informacje o autoryzacji http jak nośnik. Masz całkowity dostęp do tych informacji o punktach końcowych.

Mam nadzieję, że ci to pomoże.