Module: JPSClient::Endpoints
- Defined in:
- lib/jpsclient/auth/endpoints.rb
Overview
登录/凭证相关的 host 与本地路径解析。
对齐 jps-cli / nbskills / 桌面端三端契约(见 JPS 中心化登录 OIDC 接入文档 §5.3): 凭证落 ~/.jps_auth_info(测试服 ~/.jps_cli/test_auth_info),由 JPS_CLI_TEST 切换。 host 从 config 推导,回退到固定正式服地址。
Constant Summary collapse
- TEST_ENV_VAR =
'JPS_CLI_TEST'.freeze
- TEST_TRUE_VALUES =
%w[1 true yes on].freeze
- DEFAULT_API_BASE =
固定正式服地址(config 未提供时回退用)
'https://jps-api.devtestapp.com'.freeze
- DEFAULT_WEB_ORIGIN =
'https://jps-new.devtestapp.com'.freeze
Class Method Summary collapse
-
.auth_file ⇒ Object
当前生效的凭证文件路径(与 jps-cli 逐字一致,属跨端硬契约,不走 config 覆盖).
-
.origin_of(url, fallback = nil) ⇒ Object
取 URL 的 origin(scheme://host);空/非法时返回 fallback.
-
.test_env? ⇒ Boolean
JPS_CLI_TEST 为真值(1/true/yes/on,大小写不敏感)→ 走测试服.
Class Method Details
.auth_file ⇒ Object
当前生效的凭证文件路径(与 jps-cli 逐字一致,属跨端硬契约,不走 config 覆盖)
25 26 27 28 29 30 31 32 |
# File 'lib/jpsclient/auth/endpoints.rb', line 25 def auth_file home = File.('~') if test_env? File.join(home, '.jps_cli', 'test_auth_info') else File.join(home, '.jps_auth_info') end end |
.origin_of(url, fallback = nil) ⇒ Object
取 URL 的 origin(scheme://host);空/非法时返回 fallback
35 36 37 38 39 40 41 42 43 44 |
# File 'lib/jpsclient/auth/endpoints.rb', line 35 def origin_of(url, fallback = nil) return fallback if url.nil? || url.to_s.empty? u = URI.parse(url.to_s) return fallback unless u.scheme && u.host origin = "#{u.scheme}://#{u.host}" origin += ":#{u.port}" if u.port && ![80, 443].include?(u.port) origin rescue URI::InvalidURIError fallback end |
.test_env? ⇒ Boolean
JPS_CLI_TEST 为真值(1/true/yes/on,大小写不敏感)→ 走测试服
20 21 22 |
# File 'lib/jpsclient/auth/endpoints.rb', line 20 def test_env? TEST_TRUE_VALUES.include?(ENV[TEST_ENV_VAR].to_s.strip.downcase) end |