通常, 我们会部署一些开源 Web 应用或私有 Web 应用供我们自己使用, 这种 Web 应用往往缺乏认证或登录功能, 总会被认为是 "未授权访问" 漏洞。
这种情况一旦被恶意用户发现 Web 应用的入口, 将面临严重的安全威胁。
雷池的 "身份认证" 功能可以很好的解决这类问题, 只需要为对应的网站启用 "身份认证" 功能即可。
如果需要开启身份认证,只需要在界面上点击 身份认证
按钮,启用后配置相关参数即可。
该功能开启后,当用户访问您的网站时,需要基于配置的登录方式进行认证,不持有认证信息的用户将被拒之门外。
雷池提供两种认证模式:简易认证和统一认证。
字段 | 描述 |
---|---|
登录方式 | 提供多种登录方式可供选择,包括账号密码、钉钉、企业微信、OIDC、GitHub、微信扫码登录、CAS、LDAP。统一认证模式下需前往身份认证-配置-统一认证 进行配置。 |
认证回调地址 | 如需向应用服务器传递用户认证信息时填写,用于在此换取用户信息。 |
应用跳转地址 | 统一认证模式下必填,在统一管理面板点击应用时会跳转到此地址。 |
审批配置:支持选择是否进行授权审批
针对特定条件启用身份认证:支持选择满足时认证或满足时跳过认证
http://example.com/application
是在应用配置的认证回调地址
:http://example.com/application?code=123456&redirect_uri=用户原访问地址
在雷池控制台 通用设置-控制台管理
页面找到 API Token
,获取 Token
应用在 认证回调地址
中实现用 code
来请求雷池的/.safeline/auth/api/user
接口获取认证用户信息,code
只能使用一次
// 请求:
GET http://safeline-console.com/.safeline/auth/api/user?code=123456
X-SLCE-API-TOKEN: safeline-api-token
// 响应:
Content-Type: application/json
{
"code": 0, // 0: 成功,非0: 失败
"msg": "错误描述",
"data": {
"id": 1,
"username": "username"
}
}
redirect_uri
如果获取用户信息失败,应用需要删除 sl_auth_session_ 前缀的 cookie,让用户重新进行身份认证