golang 简易版第三方登录方法

d3auth

第三方登录golang版本的简单实现

安装

go get gitee.com/zchunshan/d3auth

emmm

        type Auth_conf struct {
            Appid  string
            Appkey string
            Rurl   string
        }

使用

gitee


    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)


qq

        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字符串返回

weibo

        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字符串返回

wechat

        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字符串返回

github

        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) 
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

友情链接更多精彩内容