成为discord开发者 成为discord开发者创建应用APPLICATioN ID 应用ID, PUBLIC KEY 暂时无用(随时可以看)在OAuth2中 CLIENT ID, CLIENT S
public function callbackDiscord(request $request) { $tokenUrl = 'Https://discord.com/api/oauth2/token'; $userUrl = 'https://discord.com/api/users/@me'; $all = $request->all(); if(isset($all['code']) && $all['code']){ $headers = [ 'Content-Type' => 'application/x-www-fORM-urlencoded' ]; $data= [ 'client_id' => env('DISCORD_CLIENT_ID'), 'client_secret' => env('DISCORD_CLIENT_SECRET'), 'grant_type' => 'authorization_code', 'redirect_uri' => env('DISCORD_REDIRECT_URI'), 'code' => $all['code'] ]; // 获取access_token $res = $this->postUrl($tokenUrl, $data, $headers); if(isset($res['access_token']) && $res['access_token']){ $header = [ 'Authorization: Bearer ' . $res['access_token'] ]; // 获取用户信息 $user = $this->getUrl($userUrl, $header); // 获取到用户信息就可以做自己的操作了} } } public function postUrl($url, $data = [], $headerArr = []) { $curl = curl_init(); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_POSTFIELDS, http_build_query($data)); curl_setopt($curl, CURLOPT_HTTPHEADER, $headerArr); curl_setopt($curl, CURLOPT_TIMEOUT, 60); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); $output = curl_exec($curl); curl_close($curl); return JSON_decode($output,true); } public function getUrl($url, $headerArr = []){ $ch = curl_init(); curl_setopt($ch, CURLOPT_URL, $url); curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); curl_setopt($ch, CURLOPT_RETURNTRANSFER, 1); curl_setopt($ch,CURLOPT_HTTPHEADER, $headerArr); $output = curl_exec($ch); curl_close($ch); $output = json_decode($output, true); return $output; }
--结束END--
本文标题: PHP discord 第三方登录
本文链接: https://www.lsjlt.com/news/415081.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
2024-02-29
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0