Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Submit feedback
Contribute to GitLab
Sign in
Toggle navigation
O
order-management-backend
Project
Project
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Board
Labels
Milestones
Merge Requests
1
Merge Requests
1
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
Ascend
order-management-backend
Commits
ce0791e9
Commit
ce0791e9
authored
May 10, 2021
by
Alex Segers
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
[AFP-91]
🛂
Implement 'ManagerTokenVerifier' class to handle access token validation (
@asegers
)
parent
5a133fe4
Changes
1
Hide whitespace changes
Inline
Side-by-side
Showing
1 changed file
with
49 additions
and
0 deletions
+49
-0
ManagerTokenVerifier.java
...com/afp/ordermanagement/service/ManagerTokenVerifier.java
+49
-0
No files found.
backend/order-management/src/main/java/com/afp/ordermanagement/service/ManagerTokenVerifier.java
0 → 100644
View file @
ce0791e9
package
com
.
afp
.
ordermanagement
.
service
;
import
com.afp.ordermanagement.model.Manager
;
import
com.google.api.client.googleapis.auth.oauth2.GoogleIdToken
;
import
com.google.api.client.googleapis.auth.oauth2.GoogleIdTokenVerifier
;
import
com.google.api.client.http.HttpTransport
;
import
com.google.api.client.http.javanet.NetHttpTransport
;
import
com.google.api.client.json.jackson2.JacksonFactory
;
import
java.io.IOException
;
import
java.security.GeneralSecurityException
;
import
java.util.Collections
;
public
class
ManagerTokenVerifier
{
private
static
final
String
CLIENT_ID
=
"925243198137-hhe2e3ejlethf321hh7tbm7ontc19cpj.apps.googleusercontent.com"
;
private
static
final
JacksonFactory
jsonFactory
=
new
JacksonFactory
();
private
static
final
HttpTransport
transport
=
new
NetHttpTransport
();
private
static
final
GoogleIdTokenVerifier
verifier
=
new
GoogleIdTokenVerifier
.
Builder
(
transport
,
jsonFactory
)
.
setAudience
(
Collections
.
singletonList
(
CLIENT_ID
))
.
build
();
public
static
boolean
isTokenValid
(
String
idTokenString
)
{
try
{
verifier
.
verify
(
idTokenString
);
return
true
;
}
catch
(
Exception
ignore
)
{
}
return
false
;
}
private
static
GoogleIdToken
.
Payload
createPayload
(
String
idTokenString
)
{
GoogleIdToken
idToken
=
null
;
try
{
idToken
=
verifier
.
verify
(
idTokenString
);
}
catch
(
GeneralSecurityException
|
IOException
ignore
)
{
}
assert
idToken
!=
null
;
return
idToken
.
getPayload
();
}
public
static
Manager
createManager
(
String
idTokenString
)
{
GoogleIdToken
.
Payload
payload
=
ManagerTokenVerifier
.
createPayload
(
idTokenString
);
Manager
newManager
=
new
Manager
();
newManager
.
setFirstName
((
String
)
payload
.
get
(
"family_name"
));
newManager
.
setLastName
((
String
)
payload
.
get
(
"given_name"
));
newManager
.
setEmail
(
payload
.
getEmail
());
newManager
.
setGoogleId
(
payload
.
getSubject
());
newManager
.
setImageUrl
((
String
)
payload
.
get
(
"picture"
));
return
newManager
;
}
}
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