看了 下 要实现 openID 还是有点麻烦。
可是有好心的 哥们 写好了 程序。
http://code.google.com/p/jopenid/
之间下载 程序 测试 下就明白了。就需要一个 servlet 和 jar 就行了。
// 拼写域名
String serverURL = request.getScheme() + "://"
+ request.getServerName() + ":" + request.getServerPort()
+ request.getContextPath();
OpenIdManager manager = new OpenIdManager();
manager.setRealm(serverURL);
manager.setReturnTo(serverURL + "/openid");
String op = request.getParameter("op");
if (op == null) {// 如果是null则是返回函数。
// check sign on result from Google or Yahoo:
System.out.println("openid.response_nonce:["
+ request.getParameter("openid.response_nonce"));
checkNonce(request.getParameter("openid.response_nonce"));
// get authentication:
byte[] mac_key = (byte[]) request.getSession().getAttribute(
ATTR_MAC);
String alias = (String) request.getSession().getAttribute(
ATTR_ALIAS);
Authentication authentication = manager.getAuthentication(request,
mac_key, alias);
response.setContentType("text/html; charset=UTF-8");
showAuthentication(response.getWriter(), authentication);
return;
}
if (op.equals("Google") || op.equals("Yahoo")) {
// redirect to Google or Yahoo sign on page:
Endpoint endpoint = manager.lookupEndpoint(op);
Association association = manager.lookupAssociation(endpoint);
request.getSession().setAttribute(ATTR_MAC,
association.getRawMacKey());
request.getSession().setAttribute(ATTR_ALIAS, endpoint.getAlias());
String url = manager.getAuthenticationUrl(endpoint, association);
response.sendRedirect(url);
} else {
throw new ServletException("Unsupported OP: " + op);
}
if (op.equals("Google") || op.equals("Yahoo")) {
就进行页面跳转验证。
if (op == null) {// 如果是null则是返回函数。
就是结果返回函数。从google和yahoo返回数据。
可以在这里进行数据库插入。
分享到:
相关推荐
4. **测试**:可能包含测试脚本或测试数据,用于验证库的正确性和性能。 5. **配置文件**:可能有配置示例,帮助开发者快速配置库以适应其特定需求。 **应用场景** PHP OpenID 2.1.3广泛应用于各种类型和规模的...
`devise`是Rails社区广泛使用的灵活的身份验证解决方案,而`devise_openid_authenticatable`则是其插件,增加了对OpenID协议的支持,允许用户使用像Google或Yahoo这样的OpenID提供者进行登录。 在描述中,"使用...
通过集成 OpenID,phpBB3 可以支持用户使用他们已经在其他支持 OpenID 的网站(如 Google、Yahoo 或 AOL)上的账号登录论坛,降低了用户的记忆负担,也增加了论坛的易用性。 OpenID for phpBB 的实现通常包括以下几...
查看Beem源码,我们可以学习到如何使用如Qt Test或Google Test等测试框架来编写和执行测试。 10. **版本控制**: Beem源码包可能是从Git或其他版本控制系统中获取的,了解源码结构可以帮助我们理解如何跟踪和合并...
OpenSocial 的概念始于2007年,由Google发起,并得到了包括MySpace、Yahoo、LinkedIn等众多社交网站的支持。 **OpenSocial API 知识点:** 1. **API介绍**:OpenSocial API 提供了一组JavaScript和RESTful HTTP...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...
JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...