3.7. OAuth 服务器元数据

在 OpenShift Container Platform 中运行的应用程序可能需要发现有关内置 OAuth 服务器的信息。例如,它们可能需要发现 <namespace_route> 的哪个地址没有手动配置。为此,OpenShift Container Platform 实施了 IETF OAuth 2.0 授权服务器元数据草案规范。

因此,集群中运行的任何应用程序都可以向 https://openshift.default.svc/.well-known/oauth-authorization-server 发出 GET 请求来获取以下信息:

{
  "issuer": "https://<namespace_route>", 1
  "authorization_endpoint": "https://<namespace_route>/oauth/authorize", 2
  "token_endpoint": "https://<namespace_route>/oauth/token", 3
  "scopes_supported": [ 4
    "user:full",
    "user:info",
    "user:check-access",
    "user:list-scoped-projects",
    "user:list-projects"
  ],
  "response_types_supported": [ 5
    "code",
    "token"
  ],
  "grant_types_supported": [ 6
    "authorization_code",
    "implicit"
  ],
  "code_challenge_methods_supported": [ 7
    "plain",
    "S256"
  ]
}
1
授权服务器的签发者标识符,它是使用 https 方案且没有查询或分段组件的 URL。这是包含授权服务器有关信息的 .well-known RFC 5785 资源的发布位置。
2
授权服务器的授权端点的 URL。参见 RFC 6749
3
授权服务器的令牌端点的 URL。参见 RFC 6749
4
包含此授权服务器支持的 OAuth 2.0 RFC 6749 范围值列表的 JSON 数组。请注意,并非所有支持的范围值都会公告。
5
包含此授权服务器支持的 OAuth 2.0 response_type 值列表的 JSON 数组。使用的数组值与 response_types 参数(根据 RFC 7591 中“OAuth 2.0 Dynamic Client Registration Protocol”定义)使用的数组值相同。
6
包含此授权服务器支持的 OAuth 2.0 授权类型值列表的 JSON 数组。使用的数组值与通过 grant_types 参数(根据 RFC 7591 中“OAuth 2.0 Dynamic Client Registration Protocol”定义)使用的数组值相同。
7
包含此授权服务器支持的 PKCE RFC 7636 代码质询方法列表的 JSON 数组。code_challenge_method 参数中使用的代码质询方法值在 RFC 7636 第 4.3 节中定义。有效的代码质询方法值是在 IANA PKCE Code Challenge Methods 注册表中注册的值。请参阅 IANA OAuth 参数