威尼斯城所有登入网址


将客户端的请求分发到各个gearman,这个组合在LAMP之上又加进来一个G和一个M

  这是一个在debug调试时非常有用的函数,这个函数非常的有用

点击进入QQ互联官网使用QQ登录进去威尼斯城所有登入网址,这个示例PHP脚本非常快

1,域名注册

SDK参数配置

将下载好的SDK放在服务器网站域名根目录然后通过官网域名去打开,记住域名没有指到Connect2.1文件夹里所以域名后面要跟上Connect2.1文件夹名,然后设置配置项;

威尼斯城所有登入网址 1

其中appid和appkey填写应用里面分配的值,callback回调地址填写刚才分配的一个回调地址http://game.gongshiyu.xin/callback.php;

注意:
请求授权列表,按实际需求勾选,其中最常用的就是get_user_info获取用户的基本信息,用户名头像等等;如果勾选多了那么用户在授权登录的时候右侧会提示当前网站要获取你的那些资料,那么造成用户的担忧,我就登录一下你就要这么多我的个人信息,这是非常不安全的,那么用户可能就会放弃登录;

威尼斯城所有登入网址 2

根据提示保留API目录下文件,删除intall目录下和其他文件,将API里的所有文件移出到Connect2.1目录下,然后删除空的API目录;

                  APPid申请之后3个月未申请上线将被回收。

  1. Opauth

OAuth 2.0 是目前比较流行的做法,它率先被Google, Yahoo, Microsoft,
Facebook等使用。之所以标注为
2.0,是因为最初有一个1.0协议,但这个1.0协议被弄得太复杂,易用性差,所以没有得到普及。2.0是一个新的设计,协议简单清晰,但它并不兼容1.0,可以说与1.0没什么关系。

Google API控制台

获取code和accesstoken

当QQ登录完成后会返回一个code到指定的回调地址上,之前我们配置回调地址指定返回在项目根目录下的callback.php文件;
打开callback.php文件

<?php
require_once 'Connect2.1/qqConnectAPI.php';
//获取code
echo $_GET['code'];

登录授权完成,浏览器自动跳转到指定的回调地址,并且拿到了code,下面要使用code来拼装一个URL请求accesstoken;

<?php
require_once 'Connect2.1/qqConnectAPI.php';
//请求accesstoken
$oauth = new Oauth();
$accesstoken = $oauth->qq_callback();
echo $accesstoken;

如果页面提示:

威尼斯城所有登入网址 3

说明code已经过期,重新登录获取一次就好;
最后打印在浏览器里的值就是accesstoken,同样的来看一下qq_callback()方法里都做了些神马,首先调试输出一下;

echo '<pre>';print_r($keysArr);exit;

这个数组中包含了APP_ID和APP_KEY,还有刚刚返回来的code,通过combineURL()方法拼装一个请求access_token的URL,最后返回一个accesstoken的值;

         威尼斯城所有登入网址 4

PHP Thumb 是一个 PHP 的类用来生成图片的缩略图。
只需数行代码即可,支持多种图片来源,包括文件系统或者数据库,支持大多数图片格式。并可对图片进行旋转、剪切、加水印等等。可执行定义缩略图的质量,提供内建的缓存以降低服务器的负载。

OAuth允许用户提供一个令牌,而不是用户名和密码来访问他们存放在特定服务提供者的数据。每一个令牌授权一个特定的网站(例如,视频编辑网站)在特定的时段(例如,接下来的2小时内)内访问特定的资源(例如仅仅是某一相册中的视频)。这样,OAuth让用户可以授权第三方网站访问他们存储在另外服务提供者的某些特定信息,而非所有内容。

google_login.php

获取openID

关于openID

  • QQ用户在第三方站点的唯一标识;
  • 同一个QQ用户在不同的站点使用QQ登录openID始终一样;
    openid相当于身份证,是唯一不变的值,大家都知道每个人的QQ号也是唯一的,为什么腾讯要在生成一个openid呢?这是为了不让第三方应用获取到用户的QQ帐号,但是又必须要能获取到用户的一些基本信息,所以就有了openid的产生;
    怎么样获取呢?很简单,在callback.php文件里面去获取:

<?php
require_once 'Connect2.1/qqConnectAPI.php';
//请求accesstoken
$oauth = new Oauth();
$accesstoken = $oauth->qq_callback();
//获取openid
$openid = $oauth->get_openid();
setcookie('qq_accesstoken',$accesstoken,time()+86400);
setcookie('qq_openid',$openid,time()+86400);
echo $openid;

将accesstoken和openid存到cookie里面,生命周期这里设置为一天,在实际项目开发根据情况而定,cookie的有效时长只要比accesstoken时长要短就没问题,到这里我们的授权过程就完成了,再往后就是利用accesstoken和openid来访问API接口完成一些更加高级的操作;

            (3)、Oauth.class.php[Oauth相关URL动态拼接与token操作]

  1. PhpFastCache

OAuth 2.0系列教程(三) 角色

OAuth 2.0为用户和应用定义了如下角色:

  • 资源拥有者
  • 资源服务器
  • 客户端应用
  • 授权服务器

这些角色在下图中表示为:

OAuth 2.0规范中的角色定义

资源拥有者是指拥有共享数据的人或应用。比如Facebook或者Google的用户就是是资源拥有者,他们拥有的资源就是他们的数据。资源拥有者在上图中被描述为人,这也是最常见的情况。但资源拥有者也可以是一个应用。OAuth
2.0规范中包含这两种可能性。

资源服务器是指托管资源的服务器。比如,Facebook或Google就是资源服务器(或者有一个资源服务器)。

客户端应用是指请求访问存储在资源服务器的资源的应用。资源被资源拥有者所拥有。客户端应用可以是一个请求访问用户Facebook账号的第三方游戏。

授权服务器是指授权客户端应用能够访问资源拥有者所拥有的资源。授权服务器和资源服务器可以是同一个服务器,但不是必须的。如果这两个服务器是分开的,OAuth
2.0没有讨论这个两个服务器应该如何通信。这是由资源服务器和授权服务器开发者自己设计决定的。


Oauth keys

SDK解读

官方文档资料,计算机编程语言有很多种,按照各个语言开发的程序运行机器的角色可以分为服务端语言和客户端语言,比如说PHP它就是运行在服务端的,那么PHP就是一个服务端语言,js如果运行在客户机的浏览器中,那么它就是客户端语言,目前Node.js越来越火爆,这个时候如果它在服务端运行,那么js就是一个服务端语言;
OAuth2.0协议支持各种语言,不管是客户端语言还是服务端语言都是可以支持的,这里的Server-side和Client-side就是告诉大家服务端语言和客户端语言分别是怎么接入开放平台的,那么我们主要了解Server-side开发文档;

                找个合适的版本,因为我做的是PHP,就下载PHP的,做java的小伙伴可以下载java的对应类型。

pChart 是一个 PHP 类库用来创建各种图表,可从 SQL 查询、CSV
文件以及手工提供图表的数据来源。强项是图表的渲染质量,该项目开发活跃,每周都有新特性和
bug 修复。

OAuth 2.0系列教程(五) 授权

当一个客户端应用想要访问拥有者托管在资源服务器的资源时,它必须先获得授权,本节将讲述客户端如何获取授权。

客户端标识,客户端密钥和重定向URI

在客户端应用能请求访问资源服务器的资源之前,客户端应用程序,必须先在资源服务器相关联的授权服务器中进行注册。

注册一个一次性的任务。一旦注册了,除非客户端注册被取消了,注册将持续有效。

注册后客户端应用将由授权服务器分配客户端标识和密钥。在授权服务器上,客户端标识和密钥是唯一标识客户端应用的。如果客户端应用注册了多个授权服务器(如Facebook,
Twitter和Google等),每一个授权服务器将发出唯一的标识给该客户端应用。

无论什么时候客户端应用,想要访问同样资源服务器上的资源,它都需要通过发送客户端标识和密钥到授权服务器来验证自己。

在注册过程中,客户端应用也注册了一个重定向URI,当资源拥有者授权给客户端应用时,该重定向URI会被使用。当资源拥有者成功的通过授权服务器授权给客户端应用时,资源拥有者被重定向回客户端应用,再跳转到该重定向URI。

授权批准

授权批准由资源服务器,及与其相关的授权服务器,给予客户端应用。

OAuth 2.0列举四种不同类型授权批准,每一种类型都有不同的安全特性。

这些授权批准类型为:

  • 授权码
  • 契约
  • 资源拥有者密钥证书
  • 客户端证书

每种授权批准在下文都会提到。

授权码

用授权码来授权批准原理如下:资源拥有者(用户)访问客户端应用。客户端应用告诉用户通过授权服务器(如Facebook,
Google和Twitter等)来登录到客户端应用。

为了通过授权服务器登录,用户通过客户端应用被重定向到授权服务器。客户端应用发送它的客户端标识给授权服务器,那么授权服务器就知道是哪个应用尝试访问受保护的资源。当被重定向回客户端应用时,授权服务器发送给用户特定的重定向URI,
即客户端已经提前与授权服务器注册。随着重定向,授权服务器发送一个代表授权的授权码。

当在客户端应用的重定向URI被访问时,客户端应用直接连接授权服务器。客户端应用发送授权码,客户端标识及密钥,如果客户端应用能接受这些值,那么授权服务器返回一个访问令牌。

现在客户端应用就可以用该访问令牌请求资源服务器的资源了。该访问令牌可作为客户端授权和授权访问资源。

下面是当用授权码授权客户端应用时的授权过程:

通过授权码授权

契约

契约授权类似于授权码授权,除了用户完成授权后,访问令牌返回给客户端应用外。当用户代理被重定向到重定向URI时,访问令牌因此被返回。

当然这意味着访问令牌可以被用户代理访问,或者在契约授权过程中参与的原生应用。访问令牌在web服务器上不是安全存储的。

进一步说,客户端应用可以只发送它的客户端标识给授权服务器。如果客户端也发送它的密钥,那么客户端密钥将不得不保存在用户代理或原生应用里,那将使它很容易被破解。

契约授权大多数用在用户代理或原生应用中。用户代理或原生应用将收到来授权服务器的访问令牌。

下面是阐释契约授权的图:

契约授权

资源拥有者密钥证书

资源拥有者证书授权方法通过客户端应用访问资源拥有者证书来工作。比如,用户可以在客户端应用输入他的Twitter用户名及密钥(证书)。该客户端应用就可以用着用户名和密钥访问用户在Twitter的资源。

用资源拥有者密钥证书要求客户端应用很多信任。你不想在那些你怀疑会滥用证书的客户端应用中输入证书。

资源拥有者密钥证书通常被用在用户代理或原生应用中。

客户端证书

客户端证书授权对于客户端需要在资源服务器访问资源或调用函数的情形使用,与特定的资源拥有者无关(如用户)。比如,从Foursquare获取场地列表,这并没有必要通过某个Foursquare用户才能做。


威尼斯城所有登入网址 5

平台政策及注意事项

  • Appid申请之后3个月未申请上线将被回收
  • 申请上线需要使用官网提供的QQ登录按钮素材

                  申请上线需要使用官网提供的QQ登录按钮素材。

Whoops是一个易于处理和调试错误的PHP库
。它提供基于堆栈的的错误处理和好看的错误界面。它有个简单的API来处理异常,跟踪帧和数据,并能和任何框架整合(随时可用的集成端和Silex)。

OAuth 2.0系列教程(八) 授权码授权

授权码授权总共由2个请求和2个响应组成。一个授权请求+响应,和一个令牌请求+响应。
授权请求
授权请求被发送到授权端点以获取一个授权码。这是请求中用到的参数:

授权响应
授权响应包含了需要用来获取访问令牌的授权码。这是响应包括的参数:

授权错误 如果授权期间发生错误,两种情况会发生。
第一种情形是,客户端没有被授权或识别。比如,请求中错误的重定向URI。这种情况下,授权服务器没有必要重定向资源拥有者到重定向URI,而是通知资源拥有者发生了错误。
第二种情形是,客户端被正确地授权了,但是其他某些事情失败了。这种情况下下面地错误响应会被发送到客户端,包括在重定向URI中:

令牌请求
一旦授权码被获取到了,客户端可以用它获取访问令牌。这是访问令牌请求参数:

令牌响应
访问令牌请求的响应是包含访问令牌及一些更多信息的JSON字符串:

{ "access_token"  : "...",
  "token_type"    : "...",
  "expires_in"    : "...",
  "refresh_token" : "...",
}

access_type属性是授权服务器分配的访问令牌。
token_type是被授权服务器分配的令牌类型。
expires_in属性是指访问令牌过多少秒后,就不再有效。访问令牌过期值是可选的。
refresh_token属性包含令牌过期后刷新的令牌。刷新的令牌用于,一旦响应返回的不再有效时,包含一个新的访问令牌。


CREATE TABLE users  
(  
id INT PRIMARY KEY AUTO_INCREMENT,  
email VARCHAR(50) UNIQUE,  
fullname VARCHAR(100),  
firstname VARCHAR(50),  
lastname VARCHAR(50),  
google_id VARCHAR(50),  
gender VARCHAR(10),  
dob VARCHAR(15),  
profile_image TEXT,  
gpluslink TEXT

SDK核心类和重要方法

  • 登录授权相关的三个主要类
    Recorder.class.php:配置读写与session存取;
    URL.class.php:基于curl库的get与post请求;
    Oauth.class.php:核心授权类包括Oauth相关URL动态拼接与token操作;

  获取openID:

Opauth 是一个开源的 PHP 库,提供了 OAuth 认证的支持,让你无需关注不同
Provider

OAuth 2.0系列教程(十) 资源拥有者密钥证书授权请求和响应

资源拥有者者密钥证书授权包含单个的请求+响应。
资源拥有者密钥证书授权请求 请求包含下面的参数:

资源拥有者密钥证书授权响应
响应是包含访问令牌的JSON结构数据。JSON结构像这样:

{ "access_token"  : "...",
  "token_type"    : "...",
  "expires_in"    : "...",
  "refresh_token" : "...",
}

access_type属性是授权服务器分配的访问令牌。
token_type是被授权服务器分配的令牌类型。expires_in属性是指访问令牌过多少秒后,就不再有效。访问令牌过期值是可选的。refresh_token属性包含令牌过期后刷新的令牌。刷新的令牌用于,一旦响应返回的不再有效时,包含一个新的访问令牌。


Google Oauth登录系统开发示例

申请AppID和AppKey

QQ互联点击进入QQ互联官网使用QQ登录进去,然后填写相关的个人资料完善信息,这里选择个人接入,上传手持身份证正面照,注意格式为png;
然后点击下一步进行邮箱验证,验证通过之后进入后台界面,等待企鹅公司审核,一般7个工作日内;
审核通过后,进入个人中心主界面创建应用,等待审核通过;

注意:
网站域名一定要填写万网可以正常访问的,并且你对网站的文件夹具有更改使用权限;
网站回调域填写跟域名一样的地址就可以例如:(http://game.gongshiyu.xin;http://game.gongshiyu.xin/callback.php)用;隔开添加一个回调域名在相应的域名下新建一个callback.php文件用于接收回调参数,提供方填写自己名字或其他别名都可以,网站备案号登录阿里云查看自己的网站备案号;

            在使用过程中需要注意以下三点:

PHP Error 是一个开源的 PHP 库,用于转换标准的 PHP
错误信息,主要用于开发过程中的调试。PHP Error 紧密集成到 PHP
环境中,显示带语法高亮的错误提示。

作者:Jakob Jenkov
译者:林浩
原文地址:http://ifeve.com/oauth2-tutorial-all/

Google plus登录系统,你只需要在index.php中加载这个文件。

API调用示例

威尼斯城所有登入网址 6

现在我们根目录下面有qqlogin.php和callback.php文件,分别用于访问QQ登录页面以及回调处理code换取accesstoken和openid并保存到cookie中,现在我们要添加一个index.php默认首页在这个页面中添加一个按钮,点击之后跳转到QQ登录页面让callback.php处理完业务逻辑之后直接跳转到index.php,然后我们在index.php文件中调用get_user_info接口来获取QQ用户的基本信息;
代码展示:
index.php

<?php
require_once 'Connect2.1/qqConnectAPI.php';
?>
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <title>QQ登录</title>
</head>
<body>
<?php
if (!isset($_COOKIE['qq_openid']) || !isset($_COOKIE['qq_accesstoken'])) { ?>
    <a href="qqlogin.php">第三方QQ登录</a>
<?php } else {
    $qc = new QC($_COOKIE['qq_accesstoken'],$_COOKIE['qq_openid']);
    //获取到QQ用户信息后就可将数据存到数据库了,相当于一个注册用户
    $userinfo = $qc->get_user_info();
    ?>
    <img src="<?php%20echo%20$userinfo['figureurl_qq_1'];?>" alt="威尼斯城所有登入网址 7">
    嗨~<?php echo $userinfo['nickname'];?><a href="qqlogout.php">,退出</a>
<?php } ?>
</body>
</html>

callback.php

<?php
require_once 'Connect2.1/qqConnectAPI.php';
//请求accesstoken
$oauth = new Oauth();
$accesstoken = $oauth->qq_callback();
//获取openid
$openid = $oauth->get_openid();
setcookie('qq_accesstoken',$accesstoken,time()+86400);
setcookie('qq_openid',$openid,time()+86400);
header('location:index.php');

qqlogin.php

<?php
require_once 'Connect2.1/qqConnectAPI.php';
//访问QQ的登录页面
$oauth = new Oauth();
$oauth->qq_login();

qqlogout.php

<?php
setcookie('qq_accesstoken',null);
setcookie('qq_openid',null);
header('location:index.php');

             威尼斯城所有登入网址 8

7.pChart


威尼斯城所有登入网址 9

什么是OAuth?

OAuth(Open
Authorization,开放授权)是为用户资源的授权定义了一个安全、开放及简单的标准,第三方无需知道用户的账号及密码,就可获取到用户的授权信息,OAuth的授权不会使第三方触及到用户的账号信息(如用户名与密码),即第三方无需使用用户的用户名与密码就可以申请获得该用户资源的授权,因此OAuth是安全的。

威尼斯城所有登入网址 10

对于用户来说,使用第三方登录非常的方便快捷,省去了注册账户的繁琐步骤,间接的为网站提高用户量;

                威尼斯城所有登入网址 11

支持也将陆续提供。同时也支持处理任何 OAuth 认证提供方。

OAuth 2.0系列教程(十一) 客户端证书请求和响应

客户端证书授权包含下面的参数:

客户端授权响应: 客户端授权响应包含下面的参数:

{ "access_token"  : "...",
  "token_type"    : "...",
  "expires_in"    : "...",
}

access_type属性是授权服务器分配的访问令牌。
token_type是被授权服务器分配的令牌类型。
expires_in属性是指访问令牌过多少秒后,就不再有效。访问令牌过期值是可选的。
新的令牌不应该被包含在这种授权类型的请求中。

3,OAuth Keys

请求访问QQ登录页面

在网站更目录创建一个qqlogin.php文件

<?php
require_once 'Connect2.1/qqConnectAPI.php';
//访问QQ的登录页面
$oauth = new Oauth();
$oauth->qq_login();

然后浏览器访问qqlogin.php文件,QQ第三方登录页面就会展现出来;
在核心类文件Oauth.class.php的qq_login方法里面打印一下这个数组

echo '<pre>';print_r($keysArr);exit;

可以看到这个数组当中拼装了我们这个应用的各项配置参数;
URL.class.php文件combineURL方法打印一下字符串

echo $keyStr;exit;

这个字符串就是把刚才的数组配置参数拼接成URL中携带的参数形式,最后再拼接成一个完整的QQ登录页面的地址,然后指挥PHP跳转到这个页面去;

 

  1. Eden : 功能强大的 PHP 库

OAuth 2.0系列教程(六) 端点

OAuth
2.0定义了一系列端点。端点典型的就是web服务器上的URI。比如,一个Java
Servlet, JSP page, PHP page, ASP.NET网页等等。

这些端点定义有:

  • 授权端点
  • 令牌端点
  • 重定向端点

授权端点和令牌端点都位于授权服务器上,重定向端点位于客户端应用上。每个端点都会在下面讲述。

这些端点在下图中阐释为:

OAuth 2.0端点

OAuth
2.0规范没有描述这些端点怎么被发现或记录。这取决于实现者来决定。大多数网站都有一个子网站开发人员来记录这些端点。

授权端点

授权端点是资源拥有者所登录的授权服务器,并授权给客户端应用的端点。

令牌端点

令牌端点是在授权服务器上为了一个访问令牌,客户端应用要交换授权码,客户端标识和客户端密钥的端点。

重定向端点

重定向端点是在授权端点授权以后,资源拥有者被重定向到客户端应用的端点。


你可以在src文件夹找到这个文件,在这里您需要配置应用程序OAuth密钥,Consumer
keys和重定向回调URL。

接入QQ开放平台的前置条件

  • 一个QQ号
  • 一台公网通过域名可以访问到的web服务器(阿里云ECS)

 

memcache, memcached, wincache, files, pdo and mpdo。可通过简单的 API

OAuth 2.0系列教程(四) 客户端类型

OAuth 2.0客户端角色被细分为一系列类型和配置,本节将阐述这些类型和配置。

OAuth 2.0规范定义了两种客户端类型:

  • 保密的
  • 公有的

保密的客户端能够对外部保持客户端密码保密。该客户端密码是由授权服务器分配给客户端应用的。为了避免欺骗,该密码是授权服务器用来识别客户端的。例如一个保密的客户端可以是web应用,除了管理员,没有任何人能够访问服务器和看到该密码。

公有的客户端不能使客户端密码保密。比如移动手机应用或桌面应用会将密码嵌入在内部。这样的应用可能被破解,并且泄漏密码。这同于在用户的浏览器上运行的JavaScript应用。用户可以使用一个JavaScript调试器来寻找到应用程序,并查看客户端密码。

客户端配置

OAuth
2.0规范也提到了一系列客户端配置文件。这些配置文件是具体类型的应用程序,这可以是保密或公开的。这些配置文件有:

  • web应用
  • 用户代理
  • 原生

Web应用

Web应用是指运行在Web服务器内的应用。实际上,Web应用典型地由浏览器部分和服务端部分组成。如果Web应用需要访问资源服务器(如Facebook账号),然后客户端密码被保存在服务器上。因此密码是保密的。

这里阐释了一个保密的客户端应用:

保密的客户端:web应用

用户代理应用

用户代理应用比如运行在浏览器上的的JavaScript应用。浏览器是用户代理。用户代理应用可以保存在web服务器上,但应用程序只运行一次下载的用户代理。一个例子就像一个JavaScript游戏只能运行在浏览器里。
这里阐释了一个客户端用户代理应用:

公有客户端:用户代理应用

原生应用

原生应用比如桌面应用或移动手机应用。原生应用典型地被安装在用户计算机或设备(手机,平板等)上。因此客户端密码也被存储在用户计算机或设备上。

这里阐释了客户端原生应用:

公有客户端:本地应用

混合应用

有些应用是这些配置的混合使用。比如本地应用也可以有服务器部分,来做一些工作(如数据存储)。OAuth2.0规范没有提及这种混合型。然而,在大多数情况下,混合型将能够使用这些配置文件的认证模型。


验证您的域名所有权,可以通过HTML文件上传或包括META标记。

引入官方SDK

从开放平台文档中心下载SDK;官方的SDK只是一个示例,首先要弄懂官方的例子,然后根据个人的项目以及目录结构移入;

威尼斯城所有登入网址 12

文件夹说明:

API:接入QQ登录的核心类以及配置文件,最终项目中使用到的也就这个文件;
doc:开发帮助文档;
example:接入QQ互联以后用API开发功能的一些示例;
install:帮助我们配置SDK参数的小工具,配置完之后这个文件夹就可以删除;

function  debug($val,$dump=false,$exit=true){
    if($dump){
        $zz = 'var_dump';
    } else {
        $zz = (is_array($val)|| is_object($val))?'print_r':'printf';
    }
    //输出到html、
    header("Content-type:text/html;charst=utf-8");
    echo '<pre>debug output:<hr/>';
    $zz($val);
    echo '</pre>';
    if($exit)exit;
}

Eden是一个开源且免费的PHP快速开发类库。它包含很多组件用来自动加载、事件驱动、文档系统、缓存、模板、国际化、数据库、web服务、支付网关、装载和云服务技术。为了给我们最好的选择,他已经将现有的函数实现了与谷歌服务(Youtube,
Drive, Contacts, Analytics, Checkout, Maps),Facebook(脸谱),
Twitter(推特), Tumblr(轻博客), PayPal(贝宝),
Authorize.NET,
FedEx(联邦快递), UPS(联合包裹服务公司), Amazon + Rackspace
Clouds(亚马逊+Rackspace 云)等服务的交互。

OAuth是OpenID的一个补充,但是完全不同的服务。

数据库配置文件。

              访问connect2.1文件夹,会显示下图的样子,按照提示填写配置,请求授权不建议选择太多,按照自己的需求选择就可以,因为选择的授权都会在用户登录的OAuth页面显示给用户的,

互联网+时代,时刻要保持学习,携手千锋PHP,Dream It Possible。

OAuth 2.0系列教程(七) 请求和响应

当客户端应用请求授权和访问令牌时,它发送http请求到授权服务器,同它的授权和令牌端点。被发送来回的请求和响应取决于授权类型。记住,这四种授权类型:

  • 授权码授权
  • 契约授权
  • 资源拥有者密钥证书授权
  • 客户端证书授权

每一种授权类型的请求和响应的更多细节将在下文分开地阐释。

然而,下面讲述的信息大多只是一个总结。为了得到它们更多的细节描述,你可能不得不查询OAuth
2.0规范,或者你尝试集成的系统(如Facebook, Google, Twitter,
Foursquare等)文档。


<?php  
$mysql_hostname = "localhost";  
$mysql_user = "username";  
$mysql_password = "password";  
$mysql_database = "databasename";  
$bd = mysql_connect($mysql_hostname, $mysql_user, $mysql_password) or die("Could not connect database");  
mysql_select_db($mysql_database, $bd) or die("Could not select database");  
?>

             SDK太长时间也没有新的版本,所以有的东西老了,要调整一下文件及目录。SDK中可能有常量名称太普通,与你本地的项目中常量名称重复了;所以可以批量替换SDK中的常量名称为不常见

之间的差别,提供统一标准的访问方法。目前支持 Google、Twitter 和
Facebook,其他的 Provider

OAuth 2.0系列教程(九) 契约请求和响应

契约请求和响应

契约授权包含一个请求和一个响应。 契约授权请求
契约授权请求包含下面的参数:

契约授权响应 契约授权包含下面的参数。注意,契约授权响应不是JSON:

契约授权错误 如果授权期间发生错误,两种情况会发生。
第一种情形是,客户端没有被授权或识别。比如,请求中错误的重定向URI。这种情况下,授权服务器没有必要重定向资源拥有者到重定向URI,而是通知资源拥有者发生了错误。
第二种情形是,客户端是好的,但是发生了其他事情。这种情况下下面地错误响应会被发送到客户端,包括在重定向URI中:


在这之前,我们已经覆盖了包含Facebook、Twitter、Google
plus以及Instagram的Oauth登录系统示例。很遗憾之前我遗漏掉了Google的Oauth登录系统。今天我们就来看一下如何为你的web项目实现Google的Oauth系统。这个示例脚本非常快,对增加你的web项目注册当然是很有帮助的。

           
首次登录的话会跳转到应用开发者注册,自己测试的话选择个人。下面的各项自己按真实情况填写。

  1. Php Thumb

OAuth 2.0系列教程(二) 综述

如引言所说的,OAuth
2.0是一个能够使应用彼此访问数据的开放授权协议,这里我们将阐述该协议是怎么工作的以及规范中提到的概念。该图说明了整个授权过程:

OAuth 2.0怎样被用来在应用间共享数据的例子

  • 第一步,用户访问客户端web应用。应用中的按钮”通过Facebook登录”(或者其他的系统,如Google或Twitter)。
  • 第二步,当用户点击了按钮后,会被重定向到授权的应用(如Facebook)。用户登录并确认授权应用中的数据给客户端应用。
  • 第三步,授权应用将用户重定向到客户端应用提供的URI,提供这种重定向的URI通常是通过注册客户端应用程序与授权应用程序完成。在注册中,客户端应用的拥有者组注册该重定向URI,在注册过程中认证应用也会给客户端应用客户端标识和密码。在URI后追加一个认证码。该认证码代表了授权。
  • 第四步,用户在客户端应用访问网页被定位到重定向的URI。在背后客户端应用连接授权应用,并且发送在重定向请求参数中接收到的客户端标识,客户端密码和认证码。授权应用将返回一个访问口令。

一旦客户端有了访问口令,该口令便可以被发送到Facebook、Google、Twitter等来访问登录用户的资源。


相关文章

No Comments, Be The First!
近期评论
    功能
    网站地图xml地图