基于表单的OAuth2资源服务器

时间:2018-06-13 23:28:30

标签: spring spring-boot spring-security-oauth2

我正在尝试使用 Spring Security OAuth2 配置 Spring Boot 1.5.0 应用程序,而我的 userInfo服务器是基于表单的。我必须以form-urlencoded方式发送 access_token (不是像“授权:承载......”这样的标题)。

在我的IDE中进行调试,我在 UserInfoRestTemplate 上将 authorizationScheme 更改为“form”,就像下面的示例一样:

DefaultUserInfoRestTemplateFactory

它按照我的预期工作。 RestTemplate生成了一个“www-form-urlencoded”,服务器响应了我预期的用户信息。

但是现在我无法确定如何在 application.yaml 上进行更改以产生相同的行为。我尝试了一些变化,但没有成功(如下面的例子)

application.yaml

有人知道如何设置它的正确方法吗?

提前致谢

1 个答案:

答案 0 :(得分:0)

以下是一个例子:

security:
  oauth2:
    client:
      client-id: acme
      client-secret: acmesecret
      scope: read,write
      auto-approve-scopes: '.*'

facebook:
  client:
    clientId: 233668646673605
    clientSecret: 33b17e044ee6a4fa383f46ec6e28ea1d
    accessTokenUri: https://graph.facebook.com/oauth/access_token
    userAuthorizationUri: https://www.facebook.com/dialog/oauth
    tokenName: oauth_token
    authenticationScheme: form
    clientAuthenticationScheme: form
  resource:
    userInfoUri: https://graph.facebook.com