由相同 Spring 引导应用程序支持的多个 Facebook 应用程序

Multiple Facebook Apps backed by same Spring Boot application

所以我按照下面的(经典)教程 spring 使用 facebook 启动:

https://spring.io/guides/tutorials/spring-boot-oauth2/

一切正常,但我找不到帮助我实现特定用例的文档。所以这里是:

  1. 我将有两个 Facebook 应用程序:一个供所有者使用,另一个供普通用户
  2. 使用
  3. 这两个 Facebook 应用程序将请求不同的权限(例如:对于 owner 应用程序,它会在粉丝专页中请求 post 的权限,对于 普通用户它只会用于基本用户信息)
  4. 将有两个真正的应用程序,一个是移动(iOS和Android)另一个基于浏览器的应用程序(这不是很相关)
  5. REST API 将根据角色进行保护,这意味着 owner 将具有 OWNER 角色并且 普通用户将拥有REGULAR_USER角色,因此,例如,普通用户将无法在粉丝专页
  6. 上调用 API 至 post
  7. 这两个应用程序都可以使用或不使用 facebook 登录,因为我需要一个用户 table 来存储更多信息,所以
  8. 如果 he/she 下载 **owner* 应用程序
  9. ,最终 普通用户 可以 owner 登录

所以,总而言之,我需要:

  1. 两个 facebook 应用程序由同一个 spring 启动应用程序支持
  2. 授权APP ID X用户并分配OWNER角色的能力以及授权[=24]用户的能力=]APP ID Y并分配角色REGULAR_USER
  3. 能够配置(在 YML 中)两个不同的 facebook 应用程序
  4. 如果他稍后授权,用户可以将现有帐户与 facebook 合并

我想就是这样。如果我找到更多有用的信息可以提供,我会稍后进行编辑。

谢谢!

There is Dave Syer's 展示如何在同一个应用程序中设置授权服务器和多个资源服务器的项目。

类似问题及解决方案:OAuth2 SSO for multiple resource servers with spring boot and jHipster