【问题标题】:Google Cloud Endpoints custom AuthenticationGoogle Cloud Endpoints 自定义身份验证
【发布时间】:2015-05-07 19:19:20
【问题描述】:

我对谷歌云端点很陌生,我想知道如何将身份验证与端点一起使用,教程here 很好,但我不明白这个东西:

  • 它说,我应该添加一个用户(com.google.appengine.api.users.User ) 参数到后端的身份验证方法。如果我想使用 android 作为客户端部分,我应该提供 GoogleAccountCredential 对象来进行经过身份验证的调用 [2]。 GoogleAccountCredential 就是这样创建的
credential = GoogleAccountCredential.usingAudience(this,
"server:client_id:1-web-app.apps.googleusercontent.com");
credential.setSelectedAccountName(accountName);

accountName 是 Google 帐户的名称,因此我假设拥有 Google 帐户并使用我的 Google Cloud Endpoint 应用程序的每个人都可以创建 GoogleAccountCredential 对象并对后端进行经过身份验证的调用。

但是我的后端显然有很多方法,只能由我的应用程序的某些用户调用。 (例如:有一个方法,它会给我一个关于我朋友的详细信息,很明显这个方法只能被他的朋友调用。)。因此我的问题是:有没有办法将 com.google.appengine.api.users.User 映射到我的一些自定义用户实体,以便检查用户是否真的被授权调用后端的方法,而不仅仅是知道该方法是由具有 Google 帐户的用户调用的吗?我是否应该为此编写自定义身份验证器,如果是,您能告诉我怎么做吗?

谢谢!

【问题讨论】:

    标签: android google-app-engine google-cloud-endpoints


    【解决方案1】:

    您可以设置一个 Authenticator 类来处理自定义身份验证。 https://cloud.google.com/appengine/docs/java/endpoints/javadoc/com/google/api/server/spi/config/Authenticator 您只需要在@ApiMethod 中设置身份验证器参数,您就可以编写自己的身份验证逻辑

    【讨论】:

    猜你喜欢
    • 2016-02-03
    • 1970-01-01
    • 2013-06-02
    • 2016-04-01
    • 2017-10-09
    • 2014-10-11
    • 1970-01-01
    • 2014-08-23
    • 2017-07-06
    相关资源
    最近更新 更多