2017-06-08 3 views
0

ユーザー認証でAPIメソッドを保護したい。 Androidアプリに最適なのは、私が使っているfirebase認証のようでした。 ここで、APIベースのメソッドをretrofitを使って呼び出すか、認証されたfirebaseユーザーと一緒にカールする方法を教えてください。今、それがどのようにGoogle Cloud Endpoints v2 with firebase and retrofit

@ApiMethod(
      path = "firebase_user", 
      httpMethod = ApiMethod.HttpMethod.GET, 
      authenticators = {EspAuthenticator.class}, 
      issuerAudiences = {@ApiIssuerAudience(name = "firebase", audiences = {PROJECT_ID})} 
    ) 
    public Translation getUserEmailFirebase(User user) throws UnauthorizedException { 
     if (user == null) { 
      throw new UnauthorizedException("Invalid credentials"); 
     } 
     return new Translation(); 
    } 

と呼ばれるべきである。

私はAPIメソッド次hereからの例を踏襲して、コメントを追加しましたか?私は

curl \ 
    -H "Authorization: my-firebase-user-token-id" \ 
    https://my-api-link.appspot.com/_ah/api/something/v1/firebase_user 

を試みたが、私はトークンとして "Bearer " + token APIメソッドのparamに @Header("Authorization") String token を追加し、コードにしなければならなかったの改装を使用し

{ 
    "error": { 
     "errors": [ 
     { 
     "domain": "global", 
     "reason": "required", 
     "message": "Invalid credentials" 
     } 
     ], 
     "code": 401, 
     "message": "Invalid credentials" 
    } 
    } 
+0

是非。認証ヘッダーの外観はどうですか?彼らはアンドロイドのためのドキュメントやAPIのlibのどこにでもアルファにはそれを言及していない... –

答えて

0

を受けます。

関連する問題