Skip to content
Projects
Groups
Snippets
Help
This project
Loading...
Sign in / Register
Toggle navigation
Y
ydl-auth
Overview
Overview
Details
Activity
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
0
Merge Requests
0
CI / CD
CI / CD
Pipelines
Jobs
Schedules
Charts
Wiki
Wiki
Snippets
Snippets
Members
Members
Collapse sidebar
Close sidebar
Activity
Graph
Charts
Create a new issue
Jobs
Commits
Issue Boards
Open sidebar
王建峰
ydl-auth
Commits
a2fc5cf3
Commit
a2fc5cf3
authored
Mar 05, 2020
by
wangdayewjf
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
add
parent
2cf73fbe
Show whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
243 additions
and
0 deletions
+243
-0
ComOssFacade.java
ydl-auth-security/ydl-auth-security-inf/src/main/java/com/ydl/auth/inf/ComOssFacade.java
+18
-0
OssProperties.java
ydl-auth-security/ydl-auth-security-service/src/main/java/com/ydl/auth/service/beans/OssProperties.java
+48
-0
YunYMEnum.java
ydl-auth-security/ydl-auth-security-service/src/main/java/com/ydl/auth/service/enums/YunYMEnum.java
+44
-0
OssUrlUtil.java
ydl-auth-security/ydl-auth-security-service/src/main/java/com/ydl/auth/service/utils/OssUrlUtil.java
+133
-0
No files found.
ydl-auth-security/ydl-auth-security-inf/src/main/java/com/ydl/auth/inf/ComOssFacade.java
0 → 100644
View file @
a2fc5cf3
package
com
.
ydl
.
auth
.
inf
;
import
com.ydl.common.dto.BaseDtoResponse
;
import
java.util.List
;
/**
* @program ydl-auth
* @description: ComOssFacade
* @author: wangjianfeng
* @create: 2020/03/03 18:30
*/
public
interface
ComOssFacade
{
public
BaseDtoResponse
<
String
>
getTemporaryUrlByOriginalUrl
(
String
originalUrl
);
public
BaseDtoResponse
<
List
<
String
>>
getBathTemporaryUrlByOriginalUrl
(
List
<
String
>
originalUrls
);
}
ydl-auth-security/ydl-auth-security-service/src/main/java/com/ydl/auth/service/beans/OssProperties.java
0 → 100644
View file @
a2fc5cf3
package
com
.
ydl
.
auth
.
service
.
beans
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Value
;
import
org.springframework.stereotype.Component
;
import
java.io.Serializable
;
/**
* @program ydl-auth
* @description: ossProperties
* @author: wangjianfeng
* @create: 2020/03/03 18:19
*/
@Component
@Data
public
class
OssProperties
implements
Serializable
{
@Value
(
"${alioss.key.accessKeyId}"
)
private
String
aliossKeyAccessKeyId
;
@Value
(
"${alioss.key.accessKeySecret}"
)
private
String
aliossKeyAccessKeySecret
;
@Value
(
"${alioss.endpoint}"
)
private
String
aliossEndpoint
;
@Value
(
"${alioss.bucketName}"
)
private
String
aliossBucketName
;
@Value
(
"${yp.host}"
)
private
String
ypHost
;
@Value
(
"${yp.secret}"
)
private
String
ypSecret
;
@Value
(
"${qnoss.key.accessKey}"
)
private
String
qnossKeyAccessKey
;
@Value
(
"${qnoss.key.secretKey}"
)
private
String
qnossKeySecretKey
;
@Value
(
"${alioss.host}"
)
private
String
aliossHost
;
@Value
(
"${qnoss.key.domainOfBucket}"
)
private
String
qnossKeyDomainOfBucket
;
}
ydl-auth-security/ydl-auth-security-service/src/main/java/com/ydl/auth/service/enums/YunYMEnum.java
0 → 100644
View file @
a2fc5cf3
package
com
.
ydl
.
auth
.
service
.
enums
;
public
enum
YunYMEnum
{
QN_STATIC1
(
0
,
"static.ydlcdn.com"
),
QN_VIDEEO
(
1
,
"video.ydlcdn.com"
),
QN_STATIC2
(
2
,
"static.yidianling.com"
),
QN_HAOSHI99
(
3
,
"www.haoshi99.com"
),
YP_IMG
(
4
,
"img.ydlcdn.com"
),
YP_IMG2
(
5
,
"img.ydlcdn.com"
),
YP_M
(
6
,
"m.haoshi99.com"
),
AL_IMG
(
7
,
"ydlimg.oss-cn-shanghai.aliyuncs.com"
),
AL_FILE
(
8
,
"ydlfile.oss-cn-shanghai.aliyuncs.com"
),
AL_REDORD
(
9
,
"ydl-recording.oss-cn-shanghai.aliyuncs.com"
),
QN_SELF
(
10
,
"qn.wangdaye.net"
),
YP_SELF
(
11
,
"beans.wangdaye.net"
),
AL_SELF
(
12
,
"alioss.wangdaye.net"
);
private
Integer
key
;
private
String
value
;
private
YunYMEnum
(
Integer
key
,
String
value
)
{
this
.
key
=
key
;
this
.
value
=
value
;
}
public
Integer
key
()
{
return
key
;
}
public
Integer
getKey
()
{
return
key
;
}
public
String
getValue
()
{
return
value
;
}
public
void
setValue
(
String
value
)
{
this
.
value
=
value
;
}
}
ydl-auth-security/ydl-auth-security-service/src/main/java/com/ydl/auth/service/utils/OssUrlUtil.java
0 → 100644
View file @
a2fc5cf3
package
com
.
ydl
.
auth
.
service
.
utils
;
import
com.aliyun.oss.OSS
;
import
com.aliyun.oss.OSSClientBuilder
;
import
com.aliyun.oss.model.OSSObjectSummary
;
import
com.aliyun.oss.model.ObjectListing
;
import
com.qiniu.util.Auth
;
import
com.ydl.auth.service.beans.OssProperties
;
import
lombok.Data
;
import
org.springframework.beans.factory.annotation.Autowired
;
import
org.springframework.stereotype.Component
;
import
org.springframework.util.DigestUtils
;
import
java.io.Serializable
;
import
java.net.URL
;
import
java.net.URLEncoder
;
import
java.util.ArrayList
;
import
java.util.Date
;
import
java.util.List
;
/**
* @program ydl-auth
* @description: OssUtil
* @author: wangjianfeng
* @create: 2020/03/03 19:12
*/
@Data
@Component
public
class
OssUrlUtil
implements
Serializable
{
@Autowired
private
OssProperties
ossProperties
;
public
String
getAliyTemporaryUrl
(
String
host
,
String
key
,
Long
expressedTime
){
String
tagetUrl
=
""
;
List
<
String
>
contentList
=
getAliyContentList
(
key
);
// 创建OSSClient实例。
OSS
ossClient
=
new
OSSClientBuilder
().
build
(
ossProperties
.
getAliossEndpoint
(),
ossProperties
.
getAliossKeyAccessKeyId
(),
ossProperties
.
getAliossKeyAccessKeySecret
());
for
(
String
objectName:
contentList
)
{
Date
expiration
=
new
Date
(
System
.
currentTimeMillis
()
+
expressedTime
);
// 生成以GET方法访问的签名URL,访客可以直接通过浏览器访问相关内容。
String
replaceStr
=
ossProperties
.
getAliossBucketName
()+
ossProperties
.
getAliossEndpoint
()
.
replace
(
"http://"
,
""
)
.
replace
(
"https://"
,
""
);
URL
url
=
ossClient
.
generatePresignedUrl
(
ossProperties
.
getAliossBucketName
(),
objectName
,
expiration
);
String
tag_url
=
url
.
toString
().
replace
(
replaceStr
,
host
);
System
.
out
.
println
(
"aliyun 生成的临时url为 "
+
tag_url
);
tagetUrl
=
tag_url
;
}
// 关闭OSSClient。
ossClient
.
shutdown
();
return
tagetUrl
;
}
public
String
getYpyTemporaryUrl
(
String
host
,
String
key
,
Long
expressedTime
){
Long
currentTime
=
System
.
currentTimeMillis
();
Long
etime
=
currentTime
+
expressedTime
;
String
urlString
=
"/"
+
key
;
String
sign
=
DigestUtils
.
md5DigestAsHex
(
(
ossProperties
.
getYpSecret
()+
"&"
+
etime
+
"&"
+
urlString
).
getBytes
()
);
Integer
startIndex
=
sign
.
length
()/
2
-
4
;
Integer
endIndex
=
sign
.
length
()/
2
+
4
;
String
temStr
=
sign
.
substring
(
startIndex
,
endIndex
);
String
_upt
=
temStr
+
etime
;
String
requestUrl
=
host
+
urlString
+
"?_upt="
+
_upt
;
return
requestUrl
;
}
public
String
getQnyTemporaryUrl
(
String
host
,
String
key
,
Long
expressedTime
)
{
// 文档url https://developer.qiniu.com/kodo/sdk/1239/java#private-get
String
finalUrl
=
""
;
try
{
String
accessKey
=
ossProperties
.
getQnossKeyAccessKey
();
String
secretKey
=
ossProperties
.
getQnossKeySecretKey
();
String
fileName
=
key
;
String
domainOfBucket
=
host
;
String
encodedFileName
=
URLEncoder
.
encode
(
fileName
,
"utf-8"
).
replace
(
"+"
,
"%20"
);
String
publicUrl
=
String
.
format
(
"%s/%s"
,
domainOfBucket
,
encodedFileName
);
Auth
auth
=
Auth
.
create
(
accessKey
,
secretKey
);
finalUrl
=
auth
.
privateDownloadUrl
(
publicUrl
,
expressedTime
);
System
.
out
.
println
(
"七牛云url "
+
finalUrl
);
return
finalUrl
;
}
catch
(
Exception
e
)
{
e
.
printStackTrace
();
}
return
finalUrl
;
}
public
List
<
String
>
getAliyContentList
(
String
KeyPrefix
){
List
<
String
>
result
=
new
ArrayList
<>();
// 创建OSSClient实例。
OSS
ossClient
=
new
OSSClientBuilder
().
build
(
ossProperties
.
getAliossEndpoint
(),
ossProperties
.
getAliossKeyAccessKeyId
(),
ossProperties
.
getAliossKeyAccessKeySecret
());
// 列举文件。 如果不设置KeyPrefix,则列举存储空间下所有的文件。KeyPrefix,则列举包含指定前缀的文件。
ObjectListing
objectListing
=
ossClient
.
listObjects
(
ossProperties
.
getAliossBucketName
(),
KeyPrefix
);
List
<
OSSObjectSummary
>
sums
=
objectListing
.
getObjectSummaries
();
for
(
OSSObjectSummary
s
:
sums
)
{
result
.
add
(
s
.
getKey
());
System
.
out
.
println
(
"\t"
+
s
.
getKey
());
}
// 关闭OSSClient。
ossClient
.
shutdown
();
return
result
;
}
}
Write
Preview
Markdown
is supported
0%
Try again
or
attach a new file
Attach a file
Cancel
You are about to add
0
people
to the discussion. Proceed with caution.
Finish editing this message first!
Cancel
Please
register
or
sign in
to comment