腾讯企业邮箱单点登录无需帐号密码

作者:萧瑟 码海拾贝 2018-11-25 18:07

腾讯企业邮箱.png

今天下午闲着无聊,想到之前看到腾讯企业邮箱在后台有一个应用中心,里面有一个单点登录,每次登录都要输账号密码,觉得很繁琐,就想弄一个单点登录玩玩,刚好研究了一下,分享给大家,直接放在自己网站内即可使用。

安装使用

将本源码下载后,在网站根目录下建立一个文件,将源码(index.php)放入

配置企业ID,应用id后,访问即可实现腾讯企业邮箱单点登录。

访问地址:http(s)://domail/txqymail/index.php?mail=user@domain

后面的mail=填入您在腾讯企业邮箱设置的帐号即可。

源代码

<?php
/*
*腾讯企业邮箱接口 - 单点登录实现
*开发文档:https://exmail.qq.com/qy_mng_logic/doc#10001
*作者:萧瑟
*版本:v0.2.18.11.25
*博客:http://qsh5.cn
*时间:2018年11月25日 15:54:44
*/

//配置企业id
$corpid='';
//配置(单点登录)应用的凭证密钥
$corpsecret='';
$mail = $_GET['mail'];//获取地址栏传入的用户邮箱帐号(即成员UserID)
if($mail == ""){
    echo "请输入要登陆的帐号";
    return;
}
//根据开发文档介绍 第一步获取access_token
//拼凑Url地址
$get_access_token_url = 'https://api.exmail.qq.com/cgi-bin/gettoken?corpid='.$corpid.'&corpsecret='.$corpsecret;
//将获取到的数据转化为Json
$access_token_json = json_decode(file_get_contents($get_access_token_url));
//查询获取的状态,成功时:errmsg会返回 ok
$state= $access_token_json->errmsg;
if($state == "ok"){//判断当前获取数据是否成功
    //获取access_token值
    $access_token = $access_token_json->access_token;
    //根据access_token和之前转入的UserId(邮箱帐号)拼凑请求地址
    $login_url='https://api.exmail.qq.com/cgi-bin/service/get_login_url?access_token='.$access_token.'&userid='.$mail;
    //将请求后的数据转化为Json
    $login_url_json = json_decode(file_get_contents($login_url));
    //判断状态 跟第一步请求一样 成功后,会在返回的数据中返回 Ok
    if($login_url_json->errmsg=="ok"){
        //成功后,之间跳转到接口返回的地址 即可成功,第一次登陆 有一个验证 验证完成就可以正常使用了。
        header("location:".$login_url_json->login_url);
     }
     else{
        echo "获取登录地址失败";    
     }    
}else{
    echo "获取access_token失败!";
}
?>

下载地址

GitHub

https://github.com/qingshanking/txqymail

版权声明:本文发布于 青衫慧博客
收录情况:百度[百度已收录] 搜狗[搜狗已收录]
本文链接:https://qsh5.cn/post-68.html
站长声明:,,!*-*

评论

  • 学一行,爱一行。
    玩技e族1周前 (12-04)
    @玩技e族:嗯 是的。
    萧瑟 1周前 (12-04)
  • 搭建邮箱服务器不就好了
    久伴博客1周前 (12-03)
  • 高级,下个礼拜试试
    小石博客1周前 (12-02)
    @小石博客:后期还会再完善一下的。嘿嘿。
    萧瑟 1周前 (12-03)
  • 为什么你的网站打开这么慢
    久伴2周前 (11-29)
    @久伴:不应该啊?
    萧瑟 2周前 (11-29)

允许邮件通知

召唤伊斯特瓦尔