1. 程式人生 > >cocos creator 遊戲接入微信登入

cocos creator 遊戲接入微信登入

一、登入微信公眾平臺,在“開發——基本配置”配置appid,開發者密碼,IP白名單

二、在“開發——介面許可權——網頁服務——網頁授權”配置網頁授權域名


如上圖,點選設定後如下圖


根據注意事項,把檔案下載至填寫域名的web伺服器的目錄,我是放到...Tomcat 8.5\webapps\ROOT目錄下,如果不清楚可以拷貝多份放到各個你認為適合的目錄。

並且修改tomcat的埠,把8080改為80,如果修改埠發現80埠被佔用,請參考文章http://blog.csdn.net/qq_33440781/article/details/54310901操作。

同時設定“業務域名”和“JS介面安全域名”如下圖


三、開發實現,主要參考微信官方文件

1. 首先配置回撥域名

 2. 構造請求url如下:

https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8888888888888888&redirect_uri=http://mascot.duapp.com/oauth2.php&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect

頁面URL中的

scope=snsapi_userinfo 表示應用授權作用域為請求使用者資訊
★ 如果使用別人的AppID和AppSecret,那麼獲得的OpenID是那個有高階介面許可權的服務號的,這裡可以通過訊息回覆,獲取本公眾賬號下的OpenID,帶入回撥中,與另一個OpenID進行關聯
也可以使用開放平臺的UnionID功能來得到使用者在自己賬號下的OpenID
https://open.weixin.qq.com/connect/oauth2/authorize?appid=wx8888888888888888&redirect_uri=http://mascot.duapp.com/oauth2.php?userid=oc7tbuPA9BgUCLADib5nB3k2KWWg&response_type=code&scope=snsapi_userinfo&state=1#wechat_redirect

將該連結回覆給關注使用者,使用者點選後,彈出應用授權介面

3. 回撥頁面得到連結如下,回撥url中將包含引數code

http://mascot.duapp.com/oauth2.php?code=00b788e3b42043c8459a57a8d8ab5d9f&state=1
或者 http://mascot.duapp.com/oauth2.php?userid=oc7tbuPA9BgUCLADib5nB3k2KWWg&code=00b788e3b42043c8459a57a8d8ab5d9f&state=1

4. 再使用code換取oauth2的授權access_token

url如下:

https://api.weixin.qq.com/sns/oauth2/access_token?appid=wx8888888888888888&secret=aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa&code=00b788e3b42043c8459a57a8d8ab5d9f&grant_type=authorization_code

獲得授權Access Token:

複製程式碼
{
    "access_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5AI1bw2uqN--2jXoBLIM5d6L9RImvm8Vg8cBAiLpWA8Vw",
    "expires_in": 7200,
    "refresh_token": "OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5CZPAwZksiuz_6x_TfkLoXLU7kdKM2232WDXB3Msuzq1A",
    "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",
    "scope": "snsapi_userinfo,"
}
複製程式碼

5. 再使用授權Access Token獲取使用者資訊

url如下:

https://api.weixin.qq.com/sns/userinfo?access_token=OezXcEiiBSKSxW0eoylIeAsR0GmYd1awCffdHgb4fhS_KKf2CotGj2cBNUKQQvj-G0ZWEE5-uBjBz941EOPqDQy5sS_GCs2z40dnvU99Y5AI1bw2uqN--2jXoBLIM5d6L9RImvm8Vg8cBAiLpWA8Vw&openid=oLVPpjqs9BhvzwPj5A-vTYAX3GLc

返回如下

複製程式碼
{
    "openid": "oLVPpjqs9BhvzwPj5A-vTYAX3GLc",
    "nickname": "刺蝟寶寶",
    "sex": 1,
    "language": "zh_CN",
    "city": "深圳",
    "province": "廣東",
    "country": "中國",
    "headimgurl": "http://wx.qlogo.cn/mmopen/utpKYf69VAbCRDRlbUsPsdQN38DoibCkrU6SAMCSNx558eTaLVM8PyM6jlEGzOrH67hyZibIZPXu4BK1XNWzSXB3Cs4qpBBg18/0",
    "privilege": []
}
複製程式碼

獲取使用者資訊完成。

最終得到使用者資訊如下所示

這種方法適合,

1. 在朋友圈中獲得使用者的資訊.

2. 在網頁中獲得使用者資訊。

3. 在自定義選單中獲得使用者資訊。