Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/spring-boot/5.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Oauth 2.0 如何实施";“个人访问代币”;使用Spring Boot和Spring Security OAuth2_Oauth 2.0_Spring Boot_Spring Security Oauth2 - Fatal编程技术网

Oauth 2.0 如何实施";“个人访问代币”;使用Spring Boot和Spring Security OAuth2

Oauth 2.0 如何实施";“个人访问代币”;使用Spring Boot和Spring Security OAuth2,oauth-2.0,spring-boot,spring-security-oauth2,Oauth 2.0,Spring Boot,Spring Security Oauth2,我正在尝试创建一个应用程序,它允许经过身份验证的用户创建用于组织发布的API的应用程序。其思想是允许用户自行生成/撤销此类令牌,类似于GitHub的令牌。然后,用户可以使用发布的令牌获得对同一组织公开的受保护资源的编程访问 此应用程序需要: 用于验证用户并允许用户生成和撤销令牌的UI 一种服务器端RESTful API,允许用户身份验证、令牌生成、撤销和存储 理想情况下,此应用程序将是无状态的,并且不需要使用会话 围绕实施的一些问题: 公开的API是否应该是使用该类型的@EnableAut

我正在尝试创建一个应用程序,它允许经过身份验证的用户创建用于组织发布的API的应用程序。其思想是允许用户自行生成/撤销此类令牌,类似于GitHub的令牌。然后,用户可以使用发布的令牌获得对同一组织公开的受保护资源的编程访问

此应用程序需要:

  • 用于验证用户并允许用户生成和撤销令牌的UI
  • 一种服务器端RESTful API,允许用户身份验证、令牌生成、撤销和存储
理想情况下,此应用程序将是无状态的,并且不需要使用会话

围绕实施的一些问题:

  • 公开的API是否应该是使用该类型的
    @EnableAuthorizationServer
    /oauth/token
    端点?如果是这样的话,那么向用户界面公开是否不安全?这能避免吗
  • API是否应该公开一个新的专用端点,直接调用
    AuthorizationServerTokenServices
    ?如果是,如何实现这一目标
  • 是否有使用Spring引导和Spring Security OAuth2的参考实现

如果您有任何建议或参考,我们将不胜感激。

为什么它需要成为水疗中心?您只需要大约一页半的页面,通过服务器中的正常
@enableAuth2Client
支持,您几乎可以做任何事情。@DaveSyer感谢您的建议。它不“需要”成为SPA,但这是我们应用程序的一般架构,以便保持状态与UI客户端隔离。您是否碰巧有这样一个使用
@enableAuth2Client
的示例?如果服务按所述配置,这是否需要使用通过HTTP进行通信的REST客户机(即,
OAuth2RestTemplate
),或者使用直接方法调用将所有内容保持在过程中?任何澄清都将不胜感激。服务器中唯一绝对需要的rest客户机是获取令牌的客户机。不知道你所说的“进行中”是什么意思。SpringOAuth中的集成测试是基本示例的良好来源。当SpringOne(本周)结束时,我会有一个更完整的样本,所以稍后请随意ping我。关于身份验证的IMO状态属于某种类型的服务器,但是如果您想控制它,请查看Spring会话(现在发布于1.0.0.M1)。DaveSyer同意会话状态需要在服务器上。另外,感谢您在春季课程上的指导,我一定会看一看。关于“进程中”,所有这些OAuth角色将在同一个进程中:客户端、授权服务器和资源服务器。在这样的设置中,必须从客户端到授权服务器使用HTTP似乎有些奇怪。正确,这似乎有些奇怪,但这只是对/token端点的一次调用(或者您可以通过转发到/authorize而不是重定向来保存HTTP请求,但重定向似乎更干净)。要在客户端完成这一切,您可以使用直接委托给
TokenProvider
AccessTokenProvider
(没有现成的)。