身份验证

SDK 版本 2.0.2+

企业内部应用免登

$app->user->getUserByCode($code);

应用管理后台免登

应用管理后台免登需要先配置 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');
});

登录第三方网站

使用 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();