企业🤖AI Agent构建引擎,智能编排和调试,一键部署,支持私有化部署方案 广告
# 身份验证 [TOC] ::: warning SDK 版本 2.0.2+ ::: ## 企业内部应用免登 ```php $app->user->getUserByCode($code); ``` ## 应用管理后台免登 :::warning **应用管理后台免登需要先配置 `sso_secret` ,配置详情请在`实例化`章节中查看** ::: ```php {4} // 在你的应用后台地址页面,钉钉会把 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,详细解释可在 `实例化` 章节中查看 ::: ```php // 扫码登录第三方网站 $response = $app->oauth->use('app-01')->withQrConnect()->redirect(); // 钉钉内免登第三方网站、密码登录第三方网站均同样使用如下方法跳转: $response = $app->oauth->use('app-01')->redirect(); ``` ```php // 回调页面统一使用如下方法来获取用户信息: $user = $app->oauth->use('app-01')->user(); ```