首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >使用我的自定义登录控制器调用oauth/token

使用我的自定义登录控制器调用oauth/token
EN

Stack Overflow用户
提问于 2019-03-27 14:27:02
回答 1查看 222关注 0票数 0

我正在使用springboot2实现具有spring-security的oauth2。

当我直接调用oauth/token时,我能够获得结果……工作正常。

我需要让它在我的自定义登录控制器上以相同的方式工作,从那里我可以将请求重定向到oauth/token以生成令牌。这样做的原因是我需要在数据库中存储访问令牌和登录时间。

代码语言:javascript
运行
复制
@RequestMapping(value = "/login", method = { RequestMethod.OPTIONS, RequestMethod.POST })
public Object login(HttpServletRequest  request, HttpServletResponse     
            response, @RequestParam Map<String, String> params) {

//Here I want to make a call to oauth/token.

    }

请在这方面提供帮助。提前谢谢。

EN

回答 1

Stack Overflow用户

发布于 2019-04-05 15:55:42

代码语言:javascript
运行
复制
RestTemplate restTemplate = new RestTemplate();
    HttpHeaders headers = new HttpHeaders();
    headers.setContentType(MediaType.APPLICATION_JSON);
    headers.set("Authorization", "YOUR_BASIC");
    HttpEntity<String> entity = new HttpEntity<>("", headers);
    String authURL = "YOUR_URL/oauth/token?grant_type=YOUR_GRANT_TYPE&username=" + YOUR_USERNAME + "&password=YOUR_PASSWORD&scope=ui";
    ResponseEntity<String> responseEntity = restTemplate.postForEntity(authURL, entity, String.class);
    JSONObject jsonObj = new JSONObject(responseEntity.getBody());
    jsonObj.get("access_token").toString();

依赖关系:

代码语言:javascript
运行
复制
 <dependency>
    <groupId>org.json</groupId>
    <artifactId>json</artifactId>
    <version>20180130</version>
</dependency>
票数 -1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/55371055

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档