mirror of
https://github.com/seaweedfs/seaweedfs.git
synced 2024-01-19 02:48:24 +00:00
HDFS: add jwt auth for uploading
This commit is contained in:
parent
72c2e6bb8f
commit
6ed69de6bd
|
@ -29,9 +29,10 @@ public class SeaweedWrite {
|
||||||
.build());
|
.build());
|
||||||
String fileId = response.getFileId();
|
String fileId = response.getFileId();
|
||||||
String url = response.getUrl();
|
String url = response.getUrl();
|
||||||
|
String auth = response.getAuth();
|
||||||
String targetUrl = String.format("http://%s/%s", url, fileId);
|
String targetUrl = String.format("http://%s/%s", url, fileId);
|
||||||
|
|
||||||
String etag = multipartUpload(targetUrl, bytes, bytesOffset, bytesLength);
|
String etag = multipartUpload(targetUrl, auth, bytes, bytesOffset, bytesLength);
|
||||||
|
|
||||||
entry.addChunks(FilerProto.FileChunk.newBuilder()
|
entry.addChunks(FilerProto.FileChunk.newBuilder()
|
||||||
.setFileId(fileId)
|
.setFileId(fileId)
|
||||||
|
@ -54,6 +55,7 @@ public class SeaweedWrite {
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String multipartUpload(String targetUrl,
|
private static String multipartUpload(String targetUrl,
|
||||||
|
String auth,
|
||||||
final byte[] bytes,
|
final byte[] bytes,
|
||||||
final long bytesOffset, final long bytesLength) throws IOException {
|
final long bytesOffset, final long bytesLength) throws IOException {
|
||||||
|
|
||||||
|
@ -62,6 +64,9 @@ public class SeaweedWrite {
|
||||||
InputStream inputStream = new ByteArrayInputStream(bytes, (int) bytesOffset, (int) bytesLength);
|
InputStream inputStream = new ByteArrayInputStream(bytes, (int) bytesOffset, (int) bytesLength);
|
||||||
|
|
||||||
HttpPost post = new HttpPost(targetUrl);
|
HttpPost post = new HttpPost(targetUrl);
|
||||||
|
if (auth != null && auth.length() != 0) {
|
||||||
|
post.addHeader("Authorization", "BEARER " + auth);
|
||||||
|
}
|
||||||
|
|
||||||
post.setEntity(MultipartEntityBuilder.create()
|
post.setEntity(MultipartEntityBuilder.create()
|
||||||
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
|
.setMode(HttpMultipartMode.BROWSER_COMPATIBLE)
|
||||||
|
|
Loading…
Reference in a new issue