我工作的一個雲終端後端並希望限制對管理用戶的某些操作。用戶授權雲端點
我當前的代碼是這樣的:
@ApiMethod(httpMethod = "PATCH", name = "item.update", path = "items")
public Item update(Item newObject, User user)
throws UnauthorizedException, OAuthRequestException {
OAuthService oAuthService = OAuthServiceFactory.getOAuthService();
if (!oAuthService.isUserAdmin()) {
throw new UnauthorizedException("Only admin users can modify content.");
}
...
}
我知道應用程序引擎具有用戶角色的概念,但我很好奇,如果端點 做。我已經使用OAuthService.isUserAdmin()調用嘗試,但不是 似乎是工作得非常好和文檔有一個大的老警告說
注:你不應該混淆身份驗證的端點與身份驗證有關的配置設置 https://developers.google.com/appengine/articles/auth在管理 控制檯,在這裏你還你 的web.xml https://developers.google.com/appengine/docs/java/config/webxml#Security_and_Authentication 文件中指定的用戶登錄需求的文章中描述 非端點 App Engine的Web應用程序。這種方法是不與端點使用。」
我必須建立某種形式的授權我使用則傳遞到更新方法User對象?有什麼想法?
這是偉大的。我能夠用你的建議完成我所需要的。我在'web.xml'中創建了一個JSON servlet給管理員角色,允許我從應用程序用戶帳戶設置或刪除管理員標誌。這樣我只需使用我的App Engine管理員帳戶登錄,並將用戶帳戶(我的)設置爲管理員。我喜歡我不必硬編碼任何東西或手動觸摸數據來啓動它。 – rharter