我可以在开发者控制台中指定管理员帐户,我可以从GAE Endpoints API impl中检查管理员帐户吗?

问题描述:

我想对我的端点API有一些限制,即使用户通过了身份验证,也可能不允许他们执行某些操作。我主要是在防范某人被恶意攻击,并且在后端编写自己的客户端(我自己的客户永远不会做我所防范的)。我可以在开发者控制台中指定管理员帐户,我可以从GAE Endpoints API impl中检查管理员帐户吗?

但是,我仍然希望能够执行这些操作作为我自己的调试目的。

一个简单的方法是在后端硬编码一些“admin”电子邮件地址。

有没有更好的方法?理想情况下,我希望能够在控制台中指定列表,然后在代码中,我可以在google用户类(例如user.isAdmin())上使用一些API。

这样的事情是否存在?

谢谢。

使用端点,您有机会在java中包含用户对象参数,或者在python中使用from google.appengine.api import users,然后在user.get_current_user()中使用from google.appengine.api import users。如果用户是管理员,则可以检查此(python example)(javadoc for function isUserAdmin())。在受保护的API函数中执行此操作。

You can read more about authorization in endpoints here。一般来说,文档是找到这类信息的好地方。

+0

谢谢我前一段时间发现了isUserAdmin,但忘记了更新。我是一名Java开发人员,在我们的文档中我没有看到任何提及(并且我花了很多时间进行授权,花了一些时间来解决问题)。尽管如此,不妨将您的答复标记为答案,非常感谢您抽出时间。 – Creos 2014-12-21 07:04:08

+0

感谢你的SO礼仪,无论如何回到主题,解释你做了什么,并标记答案:)和平 – Nick 2014-12-23 19:52:53