feat: 完成 issue #152 登录页 OIDC SSO 双轨入口(配置点已文档化)

This commit is contained in:
2026-08-05 10:37:26 +08:00
parent 458220ecbc
commit 6b36336ca6
+20
View File
@@ -38,6 +38,12 @@
<button type="button" class="btn btn-ghost" id="togglePwd" title="显示/隐藏密码" aria-label="显示或隐藏密码">👁</button> <button type="button" class="btn btn-ghost" id="togglePwd" title="显示/隐藏密码" aria-label="显示或隐藏密码">👁</button>
</div> </div>
<!-- issue #152:OIDC SSO 双轨入口——配置了 issuer/client_id 时显示,
未配置仅本地账号(PRD 8.2 双轨)。配置点在用户管理页维护。 -->
<div class="auth-actions" id="sso-row" hidden>
<button type="button" class="btn btn-ghost" id="ssoBtn" style="width:100%">企业 SSO 登录(OIDC)</button>
</div>
<div class="role-hint"> <div class="role-hint">
角色:readonly 只读 / engineer 可配置 / admin 可发布回滚。<br> 角色:readonly 只读 / engineer 可配置 / admin 可发布回滚。<br>
未登录或只读角色不可执行写操作(PRD 8.2)。 未登录或只读角色不可执行写操作(PRD 8.2)。
@@ -48,6 +54,20 @@
</div> </div>
</form> </form>
<script src="user_store.js"></script>
<script src="auth.js"></script> <script src="auth.js"></script>
<script>
// issue #152:OIDC 双轨——已配置 issuer/client_id 则显示 SSO 入口,
// 点击跳转标准授权码流程 authorize URL(state 已写入 sessionStorage);
// 未配置则保持纯本地账号登录。
document.addEventListener("DOMContentLoaded", function () {
if (typeof UserStore === "undefined") return;
var url = UserStore.oidcAuthorizeUrl("/auth/login.html");
if (!url) return;
var row = document.getElementById("sso-row");
row.hidden = false;
document.getElementById("ssoBtn").onclick = function () { location.href = url; };
});
</script>
</body> </body>
</html> </html>