ユーザーがsimpleauthを使用して認証できるようにする webapp に取り組んでいます。今のところ、私は Google と Facebook をサポートします。ログインとログアウト (webapp2 を使用) 以外に、webapp は Cloud Endpoint API で構成されます。クライアントは、Web、Android、および iOS になります。
私の質問は、Endpoints Proto Datastore を使用して、ユーザーの認証プロバイダーが Facebook (または他のサポートされている OAuth2 プロバイダーのいずれか) である場合に、ユーザーを取得するためにuser_required=True
呼び出すことができますか?代わりに、OAuth2 トークンを指定してプロバイダーから永続的なユーザー ID を取得し、それをデータストアに保持し、そのユーザー用に独自の認証トークンを生成し、そのトークンを各要求に渡す必要がありますか?endpoints.get_current_user()
@Model.method
user_required=True
編集:認証トークンを渡す代わりに、認証されたユーザーが API メソッドに渡すことができる「API トークン」を要求することは理にかなっていますか? このトークンは POST または GET 本文に含める必要がありますか、それともヘッダー/Cookie に入れることができますか (Cloud Endpoints のヘッダーと Cookie に関する SO の他の場所でいくつかの質問を見ましたが、それからしばらく経ちました)。これはすべて、Google 以外の認証が機能しないことを前提としています。