我对谷歌云端点很新,我想知道如何使用端点使用Auth,教程here很好,但我不明白这一点:
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帐户的用户调用的吗?我应该为此编写自定义身份验证器,如果是这样,你能告诉我怎么做?
谢谢!
答案 0 :(得分:0)
您可以设置一个将处理自定义身份验证的Authenticator类。 https://cloud.google.com/appengine/docs/java/endpoints/javadoc/com/google/api/server/spi/config/Authenticator 你只需要在@ApiMethod中设置authenticators参数,你就可以编写自己的认证逻辑