LinuxDO身份认证兼容层是一个开源项目,旨在解决MAS(Multi-Accounting System)与LinuxDO身份认证接口之间的兼容性问题。由于MAS不支持包含大写字符的用户名,而LinuxDO的身份认证接口总是返回包含大写字符的用户名,导致认证失败。为了解决这个问题,开发者选择编写一个兼容层来替代LinuxDO原生的身份认证端点,而不是修改MAS的rust代码。

这个兼容层理论上支持任何OAuth2系统,因为它只是一个中间层,仅修改并原样转发来自Linux的数据。通过替换userinfo端点,如果用户不满足要求,则直接返回403,软件拿不到用户数据就直接报错。兼容层支持的功能包括用户名转小写和限制用户信任等级。此外,还可以通过设置项目来使用这个兼容层。

具体实现上,开发者提供了一个PHP脚本,该脚本可以作为一个中间代理,接收来自MAS的请求,处理后再转发到LinuxDO的身份认证接口。PHP脚本的主要功能包括:接收请求参数,设置目标URL和认证头,执行curl请求,处理返回的数据,并根据请求参数对数据进行修改(如用户名转小写和信任等级限制),最后将处理后的数据返回给MAS。

这个开源项目为需要与LinuxDO进行身份认证的系统提供了一种灵活的解决方案,特别是在需要兼容不支持大写字符的用户名的系统时非常有用。

标签: none

评论已关闭