用途:指导开发者使用 Ping Orchestration JavaScript SDK(相关包 @forgerock/journey-client、@forgerock/davinci-client、@forgerock/oidc-client)构建 Web 应用。支持三种认证流程:Journey(基于回调,对接 PingAM 或 PingOne AIC,委托给 React Journey 子技能)、DaVinci(基于 collector,对接 PingOne DaVinci,委托给 React DaVinci 子技能)、OIDC 集中登录(OAuth2 授权码浏览器重定向,内联处理)。
使用方式:除 create-sample 参数外,调用时运行三步向导。W1 询问流程类型;W1b 检测框架,若有 package.json 可执行 grep -E '"(react|vue|@angular/core|vite)"' package.json,React 为 active,Angular/Vue/Vanilla JS 为 placeholder;W2 收集共享配置(wellknown、clientId、redirectUri、scope、appName,Journey 另需 journeyName,DaVinci/OIDC 可选 acrValues),并校验 wellknown 以 .well-known/openid-configuration 结尾、scope 含 openid、redirectUri 为绝对 URL;W3 显示汇总并确认后,按框架和流程交接子技能或生成代码。
主要能力:生成框架中立的 SDK 集成模块,含 Journey、DaVinci、OIDC 客户端初始化、token 交换与路由守卫逻辑;提供各框架构建工具配置约定(React+Vite 用 VITE_ 前缀,Angular 用 environment.ts,Vue CLI 用 VUE_APP_ 前缀);安装命令示例:Journey 用 npm install @forgerock/journey-client @forgerock/oidc-client,DaVinci 用 npm install @forgerock/davinci-client,OIDC 用 npm install @forgerock/oidc-client,可选 @forgerock/protect 与 @forgerock/device-client。
限制:Angular、Vue、Vanilla JS 目前仅为占位,未生成对应 OIDC 模板,需手动适配;redirectUri 必须与注册值完全一致;scope 缺失 openid 会导致 token 交换失败;well-known 端点需配置 CORS;新版 SDK 仅支持 wellknown,不再支持 serverConfig.baseUrl;Vite 下不要在静态 callback 页内联交换脚本,应作为应用内路由处理,否则会干扰静默续期的隐藏 iframe。create-sample 命令为 /ping-orchestration-javascript-sdk create-sample "<description>"。