繁体   English   中英

Google Cloud Endpoints自定义身份验证

[英]Google Cloud Endpoints custom Authentication

我对google cloud端点非常陌生,我想知道如何对端点使用Auth, 这里的教程很好,但是我不明白这件事:

  • 它说,我应该在后端的auth方法中添加一个user( 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映射到我的自定义User实体,以便可以检查User是否真的有权调用后端的方法,而不仅仅是知道该方法是由具有Google帐户的用户调用的吗? 我应该为此编写我的自定义身份验证器吗?

谢谢!

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM