配置SystemLink与OpenID Connect提供程序的连接
- 更新时间2025-12-03
- 阅读时长5分钟
创建SystemLink用于连接OpenID Connect提供程序的配置文件。
- 记下issuer URL。 备注 通过查看提供程序的OpenID Connect配置端点上的issuer属性,可以找到issuer URI。例如,如果URI为https://example.com:9999/v2 ,则应将文件命名为example.com%3A9999%2Fv2.conf。
- 登录运行SystemLink的服务器,并找到目录C:\Program Files\National Instruments\Shared\Web Server\conf\openidc。
- 创建一个名为provider-issuer-uri.conf的文件,其中,provider-issuer-uri是URL编码格式的提供程序域名。
- 使用以下范例填充.conf文件。
{ "scope": "openid email profile", "ni-attributes": { "displayName": "Log in with PingFederate", "iconUri": "/login/assets/pf.png" }, "keys": [ { "p": "...", "kty": "RSA", "q": "...", "d": "...", "e": "AQAB", "use": "enc", "kid": "2020-11-20", "qi": "...", "dp": "...", "dq": "...", "n": "..." } ] }- scope-包含可映射至SystemLink工作区中角色的声明(claim)。必须包含profile和email范围,才能填充SystemLink用户首选项中的名字、姓氏和电子邮件字段。它们分别来自given_name、family_name、email声明。有关向用户公开scope的详细信息,请参阅提供程序的文档。
- ni-attributes – 确定要在SystemLink登录页面上显示的文本和图标。iconUri位于C:\Program Files\National Instruments\Shared\Web Server\htdocs目录。图标必须为16x16像素。
- keys - 如果提供程序使用非对称加密进行ID token密钥管理,则包含作为JWK Set的私钥。必须向提供程序注册相应的公钥。
- use-必须具有enc值,表示密钥用于加密。
- kid– 必须与身份提供程序中相应公钥的kid属性匹配。
- 保存并关闭文件。
- 创建一个名为provider-issuer-uri.client的文件。NI Web服务器使用该文件向提供程序进行身份验证。
- 使用以下范例填充.client文件。
{ "client_id": "slserver", "client_secret": "4vFm89u07xaredactedredactedredactede2tjtsEGQhlLreLVjcyLA0" }从提供程序处获得client_id和client_secret的值。根据提供程序的不同,client_id可能是用户定义的。 - 保存并关闭文件。
- 使用以下curl命令创建provider-issuer-uri.provider文件,该文件告知SystemLink在登录期间提供程序公开哪些端点。 curl https://provider-issuer-uri/.well-known/openid-configuration -o provider-issuer-uri.provider
其中,
- provider-issuer-uri是URL编码格式的提供程序域名。
- 将.provider文件保存至C:\Program Files\National Instruments\Shared\Web Server\conf\openidc目录。
- 如果您有多个OpenID Connect提供程序,请为每个提供程序创建.conf、.client、.provider文件。SystemLink中的用户ID在提供程序之间必须是唯一的。ID的格式为[sub_claim]@issuer。可以在SystemLink访问控制的用户详细信息中查看SystemLink与用户关联的ID。
- 如需代理,请在C:\Program Files\National Instruments\Shared\Web Server\conf\conf.d创建一个名为60_openidc_proxy.conf的文件,并使用以下范例填充该文件,将host和port的代理的地址。
<IfDefine AUTH_OIDC_ENABLED> OIDCOutgoingProxy host:port </IfDefine> - 重启NI Web服务器以应用更改。