Dwolla java编码之获取令牌

https://aip.baidubce.com/oauth/2.0/token报错unsupported_grant_type/The authorization grant type is not 百度AIP开放平台使用OAuth2.0授权调用开放API获取token报错400,unsupported_grant_type/The authorization grant type is not,https://aip.baidubce.com/oauth/2.0/token 阅读详情

美国流行的第三方支付dwolla,支持所有美国的主流银行。

对接Dwolla的第一步就是要获取注册应用的访问令牌。之后的每个接口都需要该令牌

由于 dwolla-swagger-java 这个库三年前由于开发团队缺少维护,所以从Dwolla的支持库里删除了,这给用java对接的人员带来了不小的麻烦。比如今天要说的获取令牌这一步。

首先注册一个沙盒账号用于测试,

接下来按照官方提供的接口说明,需要这些参数

POST https://api-sandbox.dwolla.com/token
Content-Type: application/x-www-form-urlencoded
Authorization: Basic base64编码后的client_id:client_secret


client_id: 就是控制面板中看到的key
client_secret: 就是控制面板中看到的secret
grant_type:client_credentials

这个接口通过postman测试没有问题,但通过代码测试就一直报,明明参数和postman设置的一样

{"code":"InvalidCredentials","message":"Missing or invalid Authorization header."}

后来通过Dwolla社区这个问题找到了解决方法

https://discuss.dwolla.com/t/authorization-api-not-working/6234

总结起来就是grant_type:client_credentials传错了,要传grant_type=client_credentials

直接上代码

	public String getAccess() {
		RequestBuilder requestBuilder = RequestBuilder.post();
		// 设置body
		requestBuilder.setEntity(new StringEntity("grant_type=client_credentials", "UTF-8"));
		
		// 设置header
		setRequestHeader(TOKEN_URL, requestBuilder, "application/x-www-form-urlencoded", null);
		
		HttpUriRequest request = requestBuilder.build();
		CloseableHttpResponse response = null;
		CloseableHttpClient httpClient = HttpClients.createDefault();
		try {
			// 执行请求
			response = httpClient.execute(request);
		} catch (IOException e) {
			StringBuilder error = new StringBuilder();
			error.append("IOException when httpClient execute request![url=");
			error.append(TOKEN_URL);
			error.append("] - ");
			if (e != null)
				error.append(e.getMessage());
			System.out.println(error);
		}
		
		String resultStr = null;
		try {
			// 解析返回
			resultStr = EntityUtils.toString(response.getEntity(), "UTF-8");
			System.out.println(resultStr);
		} catch (ParseException e1) {
			e1.printStackTrace();
		} catch (IOException e1) {
			e1.printStackTrace();
		}
		return resultStr;
	}

	private void setRequestHeader(String url, RequestBuilder requestBuilder, String contentType, String authHeader) {
		requestBuilder.addHeader("Content-Type", contentType);
		requestBuilder.addHeader("Accept", "*/*");
		requestBuilder.setUri(url);
		
		if (authHeader == null) {
			String s = CLIENT_ID + ":" + CLIENT_SECRET;
			String base64String = null;
			try {
				base64String = Base64.getEncoder().encodeToString(s.getBytes("UTF-8"));
			} catch (UnsupportedEncodingException e) {
				e.printStackTrace();
			}
			requestBuilder.addHeader("Authorization", "Basic " + base64String);
		} else {
			requestBuilder.addHeader("Authorization", "Bearer " + authHeader);
		}
	}

推荐使用官方提供的Postman集合进行编码过程的参考。点击“Run in Postman”会有帮助的

 https://discuss.dwolla.com/t/using-postman-to-explore-and-debug-dwollas-v2-api/2758

v2-ach-api-docs:Dwolla API V2文档 关于德沃拉 Dwolla是一个软件平台,可轻松在银行之间转移资金。 我们的软件平台与美国所有银行兼容。 Dwolla API开发人员门户位于此处: : 我们的API门户可在GitHub上找到: : 关于v2开发人员文档 v2 API文档建立在Slate上。 我们的修改也可供社区使用。 正在积极开发用于Java,Node.JS,PHP,Ruby和Python的官方SDK。 ======== 文档反映在这里 入门 先决条件 您将需要: Linux或OS X -Windows可以使用,但不受支持。 Ruby,版本1.9.3或更高版本 Bundler —如果已经安装了Ruby,但bundle命令不起作用,则只需在终端中运行gem install bundler 。 设定 在Github上分叉此存储库。 使用git clone https://github.com/YOUR 立即下载

相关推荐

node-dwolla:用于 node.js 的 Dwolla API 客户端

用于 node.js 的 Dwolla API 注意:Dwolla 已经为 Dwolla 的 API 发布了一个官方包装器,它是这个库的一个分支,并进行了重大重构。 方法 需要您的 Dwolla 应用程序 client_id 和 client_secret。 basicAccountInfo(client_id, client_secret, id, fn) 附近(client_id,client_secret,lat,lon,[,params],fn) 注册(client_id,client_secret,userInfo,fn) 需要有效的用户 OAuth2 令牌。 目前令牌不会过期并且可以重复使用,但是这将在 2015 年 3 月发生变化。 注意:Dwolla 实施了新的 OAuth 实施。 ( ) fullAccountInfo(oauth_token, fn) 余

Java实现登录token令牌

用户信息登录使用token令牌,使得用户有单独得信息

我是老伯的博客 2万+

Cadence Spectre仿真保姆级教程:从DC/AC到PSS/PV,手把手教你搞定模拟电路分析

作为业界标准的Cadence Spectre仿真器,以其精确的算法和丰富的分析类型,成为每个模拟IC工程师必须掌握的利器。本文将带你从零开始,系统掌握Spectre仿真的核心技能,从最基础的DC工作点分析到复杂的PSS相位噪声仿真,每个步骤都配有详细的操作指导和实用技巧。记得我第一次使用Spectre仿真一个简单的两级运放时,花了整整三天时间才得到正确的AC响应曲线。过程中踩过的坑、浪费的时间,现在想来都是宝贵的学习资源。与传统的AC分析不同,STB分析可以在不破坏环路的情况下评估稳定性。

weixin_30898555的博客 329

【Spring Security OAuth2】客户端授权模式(client credentials)~获取访问令牌

访问路径:http://localhost:8081/oauth/token?grant_type=client_credentials&client_id=app&client_secret=app 如果我们在请求中添加了scope参数则会对该参数进行校验,没设置并不会报错 112行,验证请求中是否设置了grant_type参数,若没有设置则抛出异常 随后判断是否为隐式授权、是...

不务正业的野猴子 7964

Linux系统搭建OpenClaw(原Clawdbot)全流程指南 最新版

工具定位:开源个人 AI 助手,支持文件读取、命令执行、多渠道交互(Telegram / 本地终端等);系统要求:主流 Linux 发行版(Ubuntu/Debian/CentOS 等),Node.js ≥22(核心依赖);安全提示:OpenClaw 为测试版,具备高权限操作能力,建议使用非主力机,配置权限白名单,避免接触敏感数据。

AI时代老码农的第二春 6559

最优控制理论 二+、哈密尔顿函数法的补充

本章基于变分法所推出的哈密尔顿函数法,2、讨论了积分方程约束的转化、控制+状态等式约束的一阶必要条件。3、控制分段连续、状态存在内点约束等情况下的角点条件,给出了协态变量和哈密尔顿函数在内点处不连续的表达式。...

MSysの优快云 9393

OAuth2:客户端证书授权(Client Credentials)类型的开放授权

适应范围 认证服务器不提供像用户数据这样的重要资源,仅仅是有限的只读资源或者一些开放的API。例如使用了第三方的静态文件服务,如Google Storage或Amazon S3。这样,你的应用需要通过外部API调用并以应用本身而不是单个用户的身份来读取或修改这些资源。这样的场景就很适合使用客户端证书授权。 流程剖析 1. 用客户端证书交换访问令牌 应用程序需要向认证

dream8062的专栏 7321

win10自动修复-无限循环【通用完美】超简单解决办法

2020.02.14今个我的笔记本电脑(Thinkpad Carbon 7 X1)(win10)早晨起来发现蓝屏,上面显示自动修复失败,重启后依然自动修复失败,不断手动重启,始终是修复失败。然后上网开始搜集资料找解决办法。 前边介绍关闭自动修复,如何找出错文件的方法;如果想看最终解决办法,直接看第三部分 上网就会发现这种现象很常见,同时是电脑自动安装系统更新,或者安装某些驱动出现。解决办法也大...

y15941300574的博客 19万+

does not match one of the registered values异常原因及对应方式

OAuth Error error="invalid_grant", error_description="Invalid redirect: http://localhost:8082/login does not match one of the registered values." 异常处理

技术随笔 1万+

解锁RK3588:内核模块签名与安全启动配置全攻略

RK3588作为一款高性能嵌入式SoC芯片,其内核模块签名与安全启动配置是保障系统安全的核心机制。本文详细介绍了RK3588的芯片特性,重点阐述了安全启动的硬件信任链原理和内核模块签名的实现方法。通过具体步骤演示了从密钥生成、模块签名到验证加载的完整流程,并深入解析了安全启动配置的硬件连接、软件工具准备、密钥烧录等关键环节。此外,还提出了防御旁路攻击和动态信任链扩展等高级安全策略,为RK3588在工业控制、智能安防等高安全要求场景中的应用提供了全面的安全解决方案。

远程部署调试 运行安装 项目调试 二次开发 项目技术新 持续迭代 部分源码免费分享 346

【数字IC设计】芯片设计中的RDC

在芯片设计中,RDC是的缩写,类似于CDC(clock domain crossing),由于现在SOC芯片是有很多ECUs组成,为了使整个系统能够快速从复位中恢复, 用户希望SOC里面每个ECU模块都可以有自己独立的异步复位信号,这样可以在出问题的时候只复位有错误逻辑的模块,而使其它模块保持正常工作。

qq_40268672的博客 2182

java 令牌_java – 获取访问令牌需要身份验证(不允许匿名)

这篇文章差不多两年了.Authentication auth = SecurityContextHolder.getContext().getAuthentication();if (auth instanceof AnonymousAuthenticationToken) {if (!resource.isClientOnly()) {throw new InsufficientAuthenti...

weixin_42515376的博客 1106

52、切换线性动态系统:原理、挑战与高斯和滤波解决方案

本文介绍了切换线性动态系统(SLDS)的基本原理及其在复杂时间序列建模中的应用。SLDS结合了隐马尔可夫模型的离散状态切换与线性动态系统的连续状态演化,适用于系统动态发生跳跃的场景,如化工过程监测和金融市场分析。由于精确推理在计算上不可行,文章重点阐述了高斯和滤波这一近似方法,通过有限高斯混合来逼近后验分布,并详细描述了其递归更新、权重计算与组件合并流程。同时讨论了性能评估、优化策略及常见问题的解决方案,并展望了SLDS与深度学习、在线学习和多模态融合的未来发展方向。

algae的博客 161

Dwolla:新版本增加Places定位功能以方便用户交易

Dwolla是一个支付网站,最新版本Dwolla增加了LBS定位功能Places,以方便用户交易。此举也使其成为了更便宜、更便捷、也更加没有异议的支付平台。同时现在不仅仅是个人之间能够进行交易,公司和非营利性机构也可以在Dwolla进行交易了。 Dwolla公司CEO Ben Milne说:“我们即将会在某个页面提供交易的清单。而且Dwolla将会引入Places,你可以将Places理...

java开发指南博客 【转载】 139

YOLO11涨点优化:loss优化 | 一种新的基于Wasserstein距离的小目标检测评估方法,助力小目标涨点

提出了一种新的基于Wasserstein距离的小目标检测评估方法,通过它们对应的高斯分布计算它们之间的相似性

①答疑群聊服务;②YOLO大模型知识问答系统;③计算机视觉论文生成智能体; 1015

pscad IEEE标准系统搭建说明

pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。

Dwolla推出新功能MassPay:支持同时向2000人付款

Dwolla今天用一个行动宣告它和PayPal的战争升级了:为了对抗后者可同时向250人付款的集中支付功能,它推出了更强悍的可同时向2000人付款的MassPay,无论从功能、操作的便捷性还是手续费上来说,比起PayPal的集中支付都具有一定的优势。 这个新推出的功能操作也非常简便,只需要填写一个CSV格式的文件,两栏内容:你要支付的金额和邮箱地址、手机号或者移动端的Dwolla...

轻轻草原 292

IEM模型,地表粗糙度模拟

利用微波反演土壤水分时候,利用IEM模型可以实现对随机地表的模拟

受oauth2的client_credentials认证模式保护下API的openfeign使用方法

资源服务器在oauth2认证保护下,使用openfeign通过client_credentials认证模式访问资源服务器。每次调用前自动在header里面添加token

菜鸟的学习笔记 1139

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

Spring Security Oauth2 学习(客户端)

OAuth OAuth 2.0 是目前最流行的授权机制,用来授权第三方应用,获取用户数据

德玛西亚 922

java接口令牌_关于java:KeyCloak用户验证和获取令牌

首先,我对Keycloak非常陌生,请问如果我要问的问题可能是错的。我已经安装了Keycloak服务器,并且可以使用以下命令访问Web UI:http:// localhost:8008 / auth我的要求是通过将其传递给k来验证领域用户Keycloak API并从那里获取令牌作为响应,然后将此令牌传递给我的其他Web API调用。但是我找不到关于如何执行此操作的简单指南...更新:从KEYCL...

weixin_27734811的博客 1654

Spring Authorization Server实现Oauth2

Spring Authorization Server 实现Oauth2认证

Glory丶笨小孩 3485

OAuth2授权(Client Credentials)

OAuth 2.0定义了四种授权方式。 1.授权码模式(authorization code) 2.简化模式(implicit) 3.密码模式(resource owner password credentials) 4.客户端模式(client credentials) ClientCredentials客户端模式: Client使用自己的 client证书(如 clien

shonegg的技术人生 3万+

Spring Security OAuth2.0笔记

请求命中filter: spring-security-oauth2-client:5.3.5.RELEASE org.springframework.security.oauth2.client.web.OAuth2AuthorizationRequestRedirectFilter @Override protected void doFilterInternal(HttpServletRequest request, HttpServletResponse response, FilterCh.

hknaruto的专栏 1832

Oauth2授权模式访问之客户端模式(client_credentials)访问

Oauth2授权模式访问之客户端模式(client_credentials)访问 使用POSTMAN获取token,url上填写http://localhost:8080/oauth/token?grant_type=client_credentials:

面朝大海,春暖花开 4万+

问题备忘:Spring Cloud OAuth2.0 开发过程中碰到的问题

Spring Cloud OAuth2.0 开发过程中碰到的问题: 1.Spring Security – There is no PasswordEncoder mapped for the id “null” 2. 调用接口/com-oauth/oauth/check_token失败 3.问题3: 在使用密码模式时,抛出异常:o.s.s.o.provider.endpoint.TokenEndpoint : Handling error: UnsupportedGrantTypeException,

不积跬步无以至千里; 不积小流无以成江海 6937

基于 IdentityServer3 实现 OAuth 2.0 授权服务【客户端模式(Client Credentials Grant)】

github:https://github.com/IdentityServer/IdentityServer3/ documentation:https://identityserver.github.io/Documentation/ samples https://github.com/IdentityServer/IdentityServer3.Sampl...

weixin_33768481的博客 428
上一篇: java raw 请求
下一篇: PayPal退款无权限
不想上班的Jane
博客等级 码龄9年 7粉丝 19原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值