带有spring security 5和oauth2的java日历客户端
我成功地用outh2配置了GoogleSpringSecurity5以连接到google。我有能力保存访问令牌。在我的应用程序的第一步中,我们不请求日历权限。我们不想等到以后再得到它们。我见过许多使用webClient、resttemplate的奇怪示例,这些示例已经被弃用
我正在寻找一种解决方案,在该解决方案中,我可以使用应用程序的access_令牌和refresh_令牌请求访问日历,然后我可以下载例如事件
我用的是reactjs。我希望它将我重定向到谷歌网站,给我权限,然后能够下载事件后,再次点击首页
编辑: 答案是:
Credential credential = new Credential(BearerToken.authorizationHeaderAccessMethod());
credential.setAccessToken("your token");
credential.setRefreshToken("your refresh token");
httpTransport = GoogleNetHttpTransport.newTrustedTransport();
client = new com.google.api.services.calendar.Calendar.Builder(httpTransport, JSON_FACTORY, credential)
.setApplicationName(APPLICATION_NAME).build();
# 1 楼答案
Google支持incremental authorization,因此如果您使用新权限和
include_granted_scopes
参数设置为true再次启动OAuth流,您可以将新权限添加到现有授权中或者,您可以使用像Xkit这样的托管解决方案来添加这种集成。它为您处理OAuth流(内置增量授权)以及刷新令牌,并与React进行本机集成。(披露:我在那里工作!)