我使用oss客户端上传一个图片,上传成功后需要回调我的接口。
情况:上传成功后,可以回调到我指定的接口,但是使用官方的demo代码,验证回调请求是否为oss回调的时候,获取Authorization为null,但是验证不成功。
boolean ret =
false;
logger.info(
"VerifyOSSCallbackRequest============")
;
logger.info(
"Authorization:"+request.getHeader(
"Authorization"))
;
String autorizationInput =
new String(request.getHeader(
"Authorization"))
;
logger.info(
"VerifyOSSCallbackRequest============22222222222:" + autorizationInput)
; // 输出为null
String pubKeyInput = request.getHeader(
"x-oss-pub-key-url")
;
logger.info(
"VerifyOSSCallbackRequest============33333333333333")
;
byte[] authorization = BinaryUtil.
fromBase64String(autorizationInput)
;
byte[] pubKey = BinaryUtil.
fromBase64String(pubKeyInput)
;
logger.info(
"VerifyOSSCallbackRequest============444444444444444")
;
String pubKeyAddr =
new String(pubKey)
;
logger.info(
"VerifyOSSCallbackRequest============555555555:" + pubKeyAddr)
;
if (!pubKeyAddr.startsWith(
"http://gosspublic.alicdn.com/") && !pubKeyAddr.startsWith(
"https://gosspublic.alicdn.com/")) {
System.
out.println(
"pub key addr must be oss addrss")
;
logger.info(
"VerifyOSSCallbackRequest============pub key addr must be oss addrss")
;
return false;
}
logger.info(
"VerifyOSSCallbackRequest============66666666666")
;
String retString = executeGet(pubKeyAddr)
;
retString = retString.replace(
"-----BEGIN PUBLIC KEY-----"
,
"")
;
retString = retString.replace(
"-----END PUBLIC KEY-----"
,
"")
;
String queryString = request.getQueryString()
;
String uri = request.getRequestURI()
;
String decodeUri = java.net.URLDecoder.
decode(uri
,
"UTF-8")
;
String authStr = decodeUri
;
logger.info(
"VerifyOSSCallbackRequest============777777777777")
;
if (queryString !=
null && !queryString.equals(
"")) {
authStr +=
"?" + queryString
;
}
authStr +=
"
\n
" + ossCallbackBody
;
ret = doCheck(authStr
, authorization
, retString)
;
logger.info(
"VerifyOSSCallbackRequest============888888888888")
;
return ret
;
版权声明:本文内容由阿里云实名注册用户自发贡献,版权归原作者所有,阿里云开发者社区不拥有其著作权,亦不承担相应法律责任。具体规则请查看《阿里云开发者社区用户服务协议》和《阿里云开发者社区知识产权保护指引》。如果您发现本社区中有涉嫌抄袭的内容,填写侵权投诉表单进行举报,一经查实,本社区将立刻删除涉嫌侵权内容。