使用Restlet的Google身份验证的java
我的应用程序有一个非常基本的身份验证:
MapVerifier mapVerifier = new MapVerifier();
mapVerifier.getLocalSecrets().put("user", "pass".toCharArray());
ChallengeAuthenticator guard= new ChallengeAuthenticator(null, ChallengeScheme.HTTP_BASIC, "Secured Resources");
guard.setContext(getContext());
guard.setVerifier(mapVerifier);
我如何调整它以使用Google身份验证方案?这将不会显示用户名/密码浏览器弹出窗口,而是转到谷歌认证页面
# 1 楼答案
我还没有完全理解你的问题是什么?如果你想在你的系统中集成谷歌认证,请检查链接 google Oauth2
它不依赖于任何框架,它只是重定向和回调,你可以用普通的servlet来做,显然你也可以用restlet来做
我已经编写了一个简单的库来集成google和FacebookOAuth2,您可以查看它是如何工作的
java oauth2 gae
# 2 楼答案
我认为您没有面临身份验证的挑战,您需要利用谷歌的身份验证服务
如果您想要自定义Restlet
Authenticator
实现,下面是此方法的一个实现(未测试):但是,这种身份验证器在扩展
org.restlet.ext.gae
中存在一段时间。它利用GAE的服务UserService
。因此,我认为您可以使用Restlet版本。以下是使用示例:已编辑:
您可以注意到,GAE验证器可以将GAE注册器用于此目的(即,如果它是管理员认证器)
要实现这一点,您只需实例化这样的enroler并在验证器上设置它,如下所述:
然后,您可以在服务器资源中检查角色,如下所述:
希望它能帮助你, 蒂埃里