代码拉取完成,页面将自动刷新
同步操作将从 chunshand/d3auth 强制同步,此操作会覆盖自 Fork 仓库以来所做的任何修改,且无法恢复!!!
确定后同步将在后台操作,完成时将刷新页面,请耐心等待。
第三方登录golang版本的简单实现
go get gitee.com/zchunshan/d3auth
type Auth_conf struct {
Appid string
Appkey string
Rurl string
}
giteeconf := &d3auth.Auth_conf{Appid: "xxx", Appkey: "xxx", Rurl: "http://www.oschina.net/login"}
giteeAuth := d3auth.NewAuth_gitee(giteeconf)
fmt.Print(giteeAuth.Get_Rurl("state")) //获取第三方登录地址
token, err := giteeAuth.Get_Token("3ce778954a27dd95e46e999667353ac4b780d50fa987d8646a534ac820b02c13") //回调页收的code 获取token
fmt.Print(token, err)
userinfo, _ := giteeAuth.Get_User_Info(token.Access_Token) //获取用户信息 userinfo 是一个json字符串返回
fmt.Print(userinfo)
qqconf := &d3auth.Auth_conf{Appid: "xxx", Appkey: "xxx", Rurl: "http://www.change.tm"}
qqAuth := d3auth.NewAuth_qq(qqconf)
fmt.Print(qqAuth.Get_Rurl("state")) //获取第三方登录地址
token, err := qqAuth.Get_Token("code") //回调页收的code 获取token
me, err := qqAuth.Get_Me(token) //获取第三方id
Client_ID string `json:"client_id"`
OpenID string `json:"openid"`
userinfo, _ := wbAuth.Get_User_Info(token, me.OpenID) //获取用户信息 userinfo 是一个json字符串返回
wbconf := &d3auth.Auth_conf{Appid: "xxx", Appkey: "xxx", Rurl: "http://www.change.tm"}
wbAuth := d3auth.NewAuth_wb(wbconf)
fmt.Print(wbAuth.Get_Rurl("state")) //获取第三方登录地址
tokenobj, err := wbAuth.Get_Token("code")
Access_Token string `json:"access_token"`
Openid string `json:"uid"`
userinfo, _ := wbAuth.Get_User_Info(tokenobj.Access_Token, tokenobj.Openid)//获取用户信息 userinfo 是一个json字符串返回
wxconf := &d3auth.Auth_conf{Appid: "xxx", Appkey: "xxx", Rurl: "http://www.change.tm"}
wxAuth := d3auth.NewAuth_wx(wxconf)
fmt.Print(wxAuth.Get_Rurl("sate")) //获取第三方登录地址
wxres, err := wxAuth.Get_Token("code")
userinfo, _ := wxAuth.Get_User_Info(wxres.Access_Token, wxres.Openid) //获取用户信息 userinfo 是一个json字符串返回
githubconf := &d3auth.Auth_conf{Appid: "xxx", Appkey: "xxx", Rurl: "http://www.change.tm/D3/d3_code/type/github"}
githubAuth := d3auth.NewAuth_github(githubconf)
fmt.Print(githubAuth.Get_Rurl("state"), "\r\n") //获取第三方登录地址
token, err := githubAuth.Get_Token("6d92d879d8b1a86922a9") //回调页收的code 获取token
if err != nil {
fmt.Print(err, "\r\n")
return
}
userinfo, err := githubAuth.Get_User_Info(token) //获取用户信息 userinfo 是一个json字符串返回
if err != nil {
fmt.Print(err)
}
fmt.Print(userinfo)
此处可能存在不合适展示的内容,页面不予展示。您可通过相关编辑功能自查并修改。
如您确认内容无涉及 不当用语 / 纯广告导流 / 暴力 / 低俗色情 / 侵权 / 盗版 / 虚假 / 无价值内容或违法国家有关法律法规的内容,可点击提交进行申诉,我们将尽快为您处理。