`

测试了 下 openID google 和 yahoo

    博客分类:
  • java
阅读更多

看了 下 要实现 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返回数据。

 

可以在这里进行数据库插入。

 

 

 

分享到:
评论
2 楼 toeo 2010-09-07  
toeo 写道
本来项目里面想用openID的但是没有用。
项目进度不是自己管理。但是这个东西倒是挺好的。


我想知道引用是砸弄的。
1 楼 toeo 2010-09-07  
本来项目里面想用openID的但是没有用。
项目进度不是自己管理。但是这个东西倒是挺好的。

相关推荐

    php-openid-2.1.3

    4. **测试**:可能包含测试脚本或测试数据,用于验证库的正确性和性能。 5. **配置文件**:可能有配置示例,帮助开发者快速配置库以适应其特定需求。 **应用场景** PHP OpenID 2.1.3广泛应用于各种类型和规模的...

    使用devise_openid_authenticatable的devise_example版本_Ruby_.zip

    `devise`是Rails社区广泛使用的灵活的身份验证解决方案,而`devise_openid_authenticatable`则是其插件,增加了对OpenID协议的支持,允许用户使用像Google或Yahoo这样的OpenID提供者进行登录。 在描述中,"使用...

    OpenID for phpBB-开源

    通过集成 OpenID,phpBB3 可以支持用户使用他们已经在其他支持 OpenID 的网站(如 Google、Yahoo 或 AOL)上的账号登录论坛,降低了用户的记忆负担,也增加了论坛的易用性。 OpenID for phpBB 的实现通常包括以下几...

    beem 源码包

    查看Beem源码,我们可以学习到如何使用如Qt Test或Google Test等测试框架来编写和执行测试。 10. **版本控制**: Beem源码包可能是从Git或其他版本控制系统中获取的,了解源码结构可以帮助我们理解如何跟踪和合并...

    OpenSocial 希望对你们有好处

    OpenSocial 的概念始于2007年,由Google发起,并得到了包括MySpace、Yahoo、LinkedIn等众多社交网站的支持。 **OpenSocial API 知识点:** 1. **API介绍**:OpenSocial API 提供了一组JavaScript和RESTful HTTP...

    java开源包1

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包11

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包2

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包3

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包6

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包5

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包10

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包4

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包8

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包7

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包9

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    java开源包101

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    Java资源包01

    JOpenID是一个轻量级的OpenID 2.0 Java客户端,仅50KB+(含源代码),允许任何Web网站通过OpenID支持用户直接登录而无需注册,例如Google Account或Yahoo Account。 JActor的文件持久化组件 JFile JFile 是 JActor ...

    JAVA上百实例源码以及开源项目源代码

    5个目标文件,演示Address EJB的实现 ,创建一个EJB测试客户端,得到名字上下文,查询jndi名,通过强制转型得到Home接口,getInitialContext()函数返回一个经过初始化的上下文,用client的getHome()函数调用Home接口...

Global site tag (gtag.js) - Google Analytics