---
name: e10-secondev-auth
description: Use when E10 authentication, integrated login, or password-change MQ broadcast uses ecode secondary development, including loginSingle, CAS, OAuth2/OIDC, freepass, passport_pwd_change, and password encryption customization.
---

# E10 统一认证与集成登录 ecode 二开

## When To Use

- 集成登录 / SSO / 单点登录 / 自定义集成登录
- 认证接入 / 自定义认证 / 统一认证 / CAS / OAuth2 / OIDC
- `loginSingle` / `SecondSsoConfig`
- `AuthSso` / `AuthSsoLogout` / `SecondAuthConfig`
- `/api/secondev/intlogin/sso/login`
- `/sp/custom/loginSingle` / `/mobile/custom/loginSingle`
- `/papi/sso/cas/login` / `/papi/sso/cas/serviceValidate`
- `/papi/sso/oauth2.0/authorize` / `/papi/sso/oauth2.0/accessToken` / `/papi/sso/oauth2.0/profile`
- `/papi/sso/oidc/authorize` / `/papi/sso/oidc/accessToken`
- `/papi/secondev/auth/sso/login` / `/papi/secondev/auth/sso/logout`
- `/sp/custom/intbssso/freepass` / `/mobile/custom/intbssso/freepass`
- `weaver.cas.base.custom.config` / 全资源拦截 / `oaAddress`
- 密码修改 MQ 广播 / `passport_pwd_change` / ESB action flow MQ listener

## Reference

```bash
sed -n "1,360p" skills/e10-local-knowledge/modules/e10-secondev-auth/references/integrated-login-sso.md
sed -n "1,420p" skills/e10-local-knowledge/modules/e10-secondev-auth/references/source-doc.md
sed -n "1,260p" skills/e10-local-knowledge/modules/e10-secondev-auth/references/cas-authentication.md
sed -n "1,260p" skills/e10-local-knowledge/modules/e10-secondev-auth/references/password-mq-broadcast.md
```

## Scenario Routing

- 集成登录到第三方系统：读 `integrated-login-sso.md`，关注 `loginSingle()`、`SecondSsoConfig`、前端中转页、`/api/secondev/intlogin/sso/login`。
- CAS / OAuth2 / OIDC / 统一认证中心：读 `cas-authentication.md`，关注 `/papi/sso/*` 协议接口、ticket/code/token/userInfo 流程。
- 自定义认证接入 / 全资源拦截 / freepass：读 `source-doc.md`，关注 `AuthSso`、`AuthSsoLogout`、`SecondAuthConfig`、`freepass`。
- 密码变更广播：读 `password-mq-broadcast.md`，关注 `passport_pwd_change`、消息字段、加密扩展、开关和 ESB 监听。

## Key Facts

- 集成登录场景：前端 ecode 地址接收后端返回的第三方单点地址和参数，完成重定向；默认后端路由 `/api/secondev/intlogin/sso/login`。
- 集成登录前端功能地址：PC `/sp/custom/loginSingle`，移动端 `/mobile/custom/loginSingle`。
- 集成登录可在标准集成登录“通用配置”中把外网地址指向前端 ecode 地址。
- 最低 E10 基线:`10.0.2503.01`。
- 前端 ecode 地址做认证入口和回调中转;认证中心回调地址绑定前端地址。
- 后端 secondev 接口拿 ticket/授权码,换 token/用户信息,完成 E10 登录。
- 统一认证中心 CAS 登录:`/papi/sso/cas/login`,票据校验:`/papi/sso/cas/serviceValidate`。
- 统一认证中心 OAuth2 授权码:`/papi/sso/oauth2.0/authorize`,换 token:`/papi/sso/oauth2.0/accessToken`,用户信息:`/papi/sso/oauth2.0/profile`。
- 统一认证中心 OIDC 授权码:`/papi/sso/oidc/authorize`,换 IdToken:`/papi/sso/oidc/accessToken`。
- 登录账号匹配规则:`1` 登录名,`3` 人员 ID,`4` 人员编号,`5` 邮箱,`6` 手机号。
- 全资源拦截要求路由包含 `freepass`;特殊账号可加 `?intunifyauth_client=freepass` 走标准登录页。

## Evidence

回答时说明加载的 reference,并点名命中 `loginSingle`、`SecondSsoConfig`、`AuthSso`、`AuthSsoLogout`、`SecondAuthConfig`、CAS/OAuth2/OIDC 接口、`freepass` 或全资源拦截配置。

<!-- business-api-index:start -->
## 结构化 API 检索

```bash
node skills/e10-local-knowledge/modules/e10-secondev-auth/scripts/search-api.mjs search "关键词"
node skills/e10-local-knowledge/modules/e10-secondev-auth/scripts/search-api.mjs load <api-id> --section summary
node skills/e10-local-knowledge/modules/e10-secondev-auth/scripts/search-api.mjs load <api-id> --section params
```

- 先查 `search-api.mjs` 定位结构化契约；需要原始上下文时，优先 `load --section all`，若该 Skill 存在 Markdown 文档索引再用 `search.mjs` 补证据。
- 普通检索默认排除冲突记录；废弃接口输出 `deprecated`。
- 禁止批量读取 `references/api-records/`；必须先 search，再 load 单条命中。
<!-- business-api-index:end -->
