[]
Wyn 支持OIDC 认证,文中以 Microsoft Azure AD 为例介绍整个配置过程。
1. 在配置文件Wyn.conf中添加“SSO”配置节点。
选项“AuthenticationProtocol ”设置为“OIDC”。
选项“Scheme”为可选项,如果未在配置文件中指定,默认为“OpenIdConnect”。
选项“Disabled”用于禁用 SSO 功能。
选项“ Authority ”、“ ClientId ”和“ ClientSecret ”是必需的,您可以在 Azure AD 应用程序中找到它们。
选项“ CallbackPath ”为可选项,该选项的默认值为“/signin-oidc”
如果未指定,请注意“CallbackPath”必须与您在 Azure AD 应用程序中指定的重定向 URI 相匹配。
<Server>
<Authentication>
<SSO>
<AuthenticationProtocol>OIDC</AuthenticationProtocol>
<Scheme>Microsoft</Scheme>
<Disabled>false</Disabled>
<AllowIncognizantUser>true</AllowIncognizantUser>
<Authority>https://sts.windows.net/{your_directory(tenant)_id}</Authority>
<ClientId>{your_client_id}</ClientId>
<ClientSecret>{your_client_secret}</ClientSecret>
<Scopes>
<sys:string>openid</sys:string>
</Scopes>
<ClaimMappings>
<sys:Item>
<Key>sub</Key>
<Value>sub</Value>
</sys:Item>
<sys:Item>
<Key>name</Key>
<Value>nickname</Value>
</sys:Item>
<sys:Item>
<Key>given_name</Key>
<Value>given_name</Value>
</sys:Item>
<sys:Item>
<Key>family_name</Key>
<Value>family_name</Value>
</sys:Item>
<sys:Item>
<Key>email</Key>
<Value>email</Value>
</sys:Item>
</ClaimMappings>
</SSO>
</Authentication>
</Server>
2. 在配置文件 Wyn.conf 中设置 cookie 选项,同样加到 Server节点下。
将“SameSite ”设置为“ None ”并将“Secure ”设置为“ true ”,因为 SSO 流程需要跨域设置 cookie。
<Cookie>
<ShareCookie>false</ShareCookie>
<SameSite>None</SameSite>
<Secure>true</Secure>
</Cookie>
3. 配置是否允许陌生用户登录。
SSO节点下有一个选项“AllowIncognizantUser ”用于表示 Wyn 中不存在的用户是否也可以通过SSO流程登录 Wyn。
设置为“true”表示所有来自SSO认证服务器的用户都可以登录到 Wyn;反之设置为“false”则表示不允许 Wyn 中不存在的用户登录 Wyn。
为了防止陌生用户登录,需要先将允许的用户导入Wyn,请注意导入用户的“Provider”必须与SSO节点下“Scheme”选项设置的值相同。
4. 配置 SLO。
要支持在注销 Microsoft 帐户时注销 Wyn,您需要在应用程序注册中提供注销 URL。
请注意,注销 URL 路径必须是“ /account/oidc-slo ”,主机“localhost”仅允许用于测试。