# 身份验证
WARNING
SDK 版本 2.0.2+
# 企业内部应用免登
$app->user->getUserByCode($code);
# 应用管理后台免登
WARNING
应用管理后台免登需要先配置 sso_secret
,配置详情请在实例化
章节中查看
// 在你的应用后台地址页面,钉钉会把 code 参数追加到你填写的后台地址中
// 你不需要关心 `code` 的具体内容,SDK 会从 URL 中自动获取
// 你只需通过以下方法即可获取当前用户信息
$app->sso->user();
/**
* 【示例】下面以 Laravel 框架为例
* 伪代码,仅供参考,请以你的实际业务逻辑为准
*/
Route::get('dingtalk/login', function () {
$response = $app->sso->user();
$userId = $response['user_info']['userid'];
// 登录用户逻辑
$this->login($userId);
// 跳到管理后台主页
return redirect('home');
});
# 登录第三方网站
WARNING
使用 OAuth 授权需要先配置 oauth
,配置详情请在 实例化
章节中查看
- 下文提到的
$response
均为一个Symfony\Component\HttpFoundation\RedirectResponse
对象,你可以使用该对象内的方法; - 例如获取授权页面 URL:
$response->getTargetUrl()
; - Laravel 等框架中可以直接
return $response
,框架会帮你重定向到钉钉授权页面。
下文的 app-01
表示实例化配置 oauth
中的数组 key,详细解释可在 实例化
章节中查看
// 扫码登录第三方网站
$response = $app->oauth->use('app-01')->withQrConnect()->redirect();
// 钉钉内免登第三方网站、密码登录第三方网站均同样使用如下方法跳转:
$response = $app->oauth->use('app-01')->redirect();
// 回调页面统一使用如下方法来获取用户信息:
$user = $app->oauth->use('app-01')->user();