这里是在tp3.2里面写的,但是对框架没有什么太大的依赖,很容易修改
需要配置的参数
//Github 配置
'GITHUB' => array(
'CLIENT_ID' => '',
'CLIENT_SECRET' => '',
),
首先是用户登录的页面,直接跳转GitHub的授权页面
public function login(){
// 记录回跳地址
$return_url=$_SERVER["HTTP_REFERER"]?$_SERVER["HTTP_REFERER"]:__ROOT__;
cookie("return_url",$return_url);
// 跳转 Github 登录页面
redirect("https://github.com/login/oauth/authorize?client_id=".C("GITHUB.CLIENT_ID"));
}
接着是Github的响应地址
// Github 回调地址
public function githubCallback(){
$github_code=I("get.code");
// 向 GitHub 发送 post 请求,请求 access_token
$post_data = http_build_query(
array(
"client_id" =&g