Skip to content

自定义OAuth提供商 #2441

@alexma233

Description

@alexma233

Clear and concise description of the problem

希望能够加上自定义OAuth,不仅是GitHub和Google登录。
这样能够支持更多服务商,有更多选择和自定义空间,可以与其它应用联动,通过自建提供商的方式来增强隐私和速度。
例如Logto(可自部署)Clerk(商业平台)

并且我个人建议修改OAuth的配置流程。
目前所有提供商不论是否启用都会显示,不太符合整个项目的设计规范。
而且即使这种方法在提供商不算多的时候没有问题,但是会限制将来添加的自定义提供商只能有一个。
修改OAuth的配置流程可以使体验更好,符合直觉并解决限制

Suggested solution

  1. 更改管理界面
  • 管理页面改为只显示已经开启的提供商,没有开启的就会隐藏
  • 在右上角添加”添加“按钮,用于新增提供商
  • 添加菜单中提供自定义OAuth的选项,可以配置:OAuth的名称、发行人 URL、客户端 ID、客户端密、是否自动注册(还是需要手动添加账户)和OAuth的图标(用于在前端中显示)
  • 随机生成重定向 URI(因为多个自定义提供商使用同一URL会冲突)
  1. 更改后端,正确处理重定向 URI收到的请求
  2. 更新前端的显示
  3. 更新文档

Alternative

No response

Additional context

可以参考
https://immich.app/docs/administration/oauth/
https://docs.logto.io/quick-starts

Image
Image
Image
Image

Validations

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions