|
|
@@ -29,6 +29,41 @@ use yii\helpers\Json;
|
|
|
class AuthController extends PublicController
|
|
|
{
|
|
|
|
|
|
+ //本机号码一键登录 shish 20210117
|
|
|
+ public function actionPhoneLogin()
|
|
|
+ {
|
|
|
+ $get = Yii::$app->request->get();
|
|
|
+ $access_token = $get['access_token'] ?? '';
|
|
|
+ $openid = $get['openid'] ?? '';
|
|
|
+ if (empty($access_token) || empty($openid)) {
|
|
|
+ util::fail('参数错误');
|
|
|
+ }
|
|
|
+ //密钥,需要和uniCloud里的一致
|
|
|
+ $secret = 'XHB2021198819640123';
|
|
|
+ $params = ['access_token' => $access_token, 'openid' => $openid];
|
|
|
+ $stringSignTemp = '';
|
|
|
+ foreach ($params as $k => $v) {
|
|
|
+ $stringSignTemp .= $k . '=' . $v . '&';
|
|
|
+ }
|
|
|
+ $stringSignTemp = rtrim($stringSignTemp, '&');
|
|
|
+ $sign = hash_hmac('sha256', $stringSignTemp, $secret);
|
|
|
+ $url = Yii::$app->params['hdUniCloudHost'] . "/getMobileNumber?access_token=" . $access_token . "&sign=" . $sign . "&" . $stringSignTemp;
|
|
|
+ $curl = new curl\Curl();
|
|
|
+ $respond = $curl->get($url);
|
|
|
+ Yii::info($respond);
|
|
|
+ $result = json_decode($respond, true);
|
|
|
+ if (isset($result['code']) == false || $result['code'] != 1) {
|
|
|
+ util::fail('获取手机号失败');
|
|
|
+ }
|
|
|
+ $phoneNumber = $result['data']['phoneNumber'] ?? '';
|
|
|
+ if (empty($phoneNumber)) {
|
|
|
+ util::fail('没有获取到手机号');
|
|
|
+ }
|
|
|
+
|
|
|
+ //参考供应商的代码
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
//准备授权 ssh 2019.11.19
|
|
|
public function actionPrepare()
|
|
|
{
|