Skip to content
Projects
Groups
Snippets
Help
Loading...
Help
Support
Submit feedback
Contribute to GitLab
Sign in / Register
Toggle navigation
S
solo-1
Project overview
Project overview
Details
Activity
Releases
Cycle Analytics
Repository
Repository
Files
Commits
Branches
Tags
Contributors
Graph
Compare
Charts
Issues
0
Issues
0
List
Boards
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
Administrator
solo-1
Commits
c8e10867
Unverified
Commit
c8e10867
authored
Sep 21, 2018
by
Liang Ding
Browse files
Options
Browse Files
Download
Email Patches
Plain Diff
✨
#12518
parent
1bbd90b9
Changes
4
Hide whitespace changes
Inline
Side-by-side
Showing
4 changed files
with
52 additions
and
14 deletions
+52
-14
src/main/java/org/b3log/solo/model/Option.java
src/main/java/org/b3log/solo/model/Option.java
+13
-0
src/main/java/org/b3log/solo/processor/OAuthGitHubProcessor.java
...n/java/org/b3log/solo/processor/OAuthGitHubProcessor.java
+3
-11
src/main/java/org/b3log/solo/service/UserMgmtService.java
src/main/java/org/b3log/solo/service/UserMgmtService.java
+35
-2
src/main/webapp/skins
src/main/webapp/skins
+1
-1
No files found.
src/main/java/org/b3log/solo/model/Option.java
View file @
c8e10867
...
@@ -17,12 +17,15 @@
...
@@ -17,12 +17,15 @@
*/
*/
package
org
.
b3log
.
solo
.
model
;
package
org
.
b3log
.
solo
.
model
;
import
org.apache.commons.lang.StringUtils
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.Keys
;
import
org.b3log.latke.logging.Level
;
import
org.b3log.latke.logging.Level
;
import
org.b3log.latke.logging.Logger
;
import
org.b3log.latke.logging.Logger
;
import
org.json.JSONArray
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
java.util.Set
;
/**
/**
* This class defines option model relevant keys.
* This class defines option model relevant keys.
*
*
...
@@ -337,6 +340,16 @@ public final class Option {
...
@@ -337,6 +340,16 @@ public final class Option {
*/
*/
public
static
final
String
CATEGORY_C_OAUTH
=
"oauth"
;
public
static
final
String
CATEGORY_C_OAUTH
=
"oauth"
;
public
static
String
getOAuthPair
(
final
Set
<
String
>
oauthPairs
,
final
String
openIdOrUserId
)
{
for
(
final
String
pair
:
oauthPairs
)
{
if
(
StringUtils
.
containsIgnoreCase
(
pair
,
openIdOrUserId
))
{
return
pair
;
}
}
return
null
;
}
/**
/**
* Private constructor.
* Private constructor.
*/
*/
...
...
src/main/java/org/b3log/solo/processor/OAuthGitHubProcessor.java
View file @
c8e10867
...
@@ -28,6 +28,7 @@ import org.b3log.latke.logging.Level;
...
@@ -28,6 +28,7 @@ import org.b3log.latke.logging.Level;
import
org.b3log.latke.logging.Logger
;
import
org.b3log.latke.logging.Logger
;
import
org.b3log.latke.model.Role
;
import
org.b3log.latke.model.Role
;
import
org.b3log.latke.model.User
;
import
org.b3log.latke.model.User
;
import
org.b3log.latke.repository.jdbc.JdbcRepository
;
import
org.b3log.latke.servlet.HTTPRequestMethod
;
import
org.b3log.latke.servlet.HTTPRequestMethod
;
import
org.b3log.latke.servlet.annotation.RequestProcessing
;
import
org.b3log.latke.servlet.annotation.RequestProcessing
;
import
org.b3log.latke.servlet.annotation.RequestProcessor
;
import
org.b3log.latke.servlet.annotation.RequestProcessor
;
...
@@ -175,7 +176,7 @@ public class OAuthGitHubProcessor {
...
@@ -175,7 +176,7 @@ public class OAuthGitHubProcessor {
final
JSONArray
github
=
new
JSONArray
(
value
);
final
JSONArray
github
=
new
JSONArray
(
value
);
final
Set
<
String
>
githubAuths
=
CollectionUtils
.
jsonArrayToSet
(
github
);
final
Set
<
String
>
githubAuths
=
CollectionUtils
.
jsonArrayToSet
(
github
);
final
String
splitChar
=
":@:"
;
final
String
splitChar
=
":@:"
;
final
String
oAuthPair
=
getOAuthPair
(
githubAuths
,
openId
);
// openId:@:userId
final
String
oAuthPair
=
Option
.
getOAuthPair
(
githubAuths
,
openId
);
// openId:@:userId
if
(
StringUtils
.
isBlank
(
oAuthPair
))
{
if
(
StringUtils
.
isBlank
(
oAuthPair
))
{
if
(!
initService
.
isInited
())
{
if
(!
initService
.
isInited
())
{
final
JSONObject
initReq
=
new
JSONObject
();
final
JSONObject
initReq
=
new
JSONObject
();
...
@@ -204,6 +205,7 @@ public class OAuthGitHubProcessor {
...
@@ -204,6 +205,7 @@ public class OAuthGitHubProcessor {
addUserReq
.
put
(
UserExt
.
USER_AVATAR
,
userAvatar
);
addUserReq
.
put
(
UserExt
.
USER_AVATAR
,
userAvatar
);
addUserReq
.
put
(
User
.
USER_ROLE
,
Role
.
VISITOR_ROLE
);
addUserReq
.
put
(
User
.
USER_ROLE
,
Role
.
VISITOR_ROLE
);
userMgmtService
.
addUser
(
addUserReq
);
userMgmtService
.
addUser
(
addUserReq
);
JdbcRepository
.
dispose
();
}
}
}
}
...
@@ -282,14 +284,4 @@ public class OAuthGitHubProcessor {
...
@@ -282,14 +284,4 @@ public class OAuthGitHubProcessor {
return
null
;
return
null
;
}
}
}
}
private
static
String
getOAuthPair
(
final
Set
<
String
>
oauthPairs
,
final
String
openId
)
{
for
(
final
String
pair
:
oauthPairs
)
{
if
(
StringUtils
.
containsIgnoreCase
(
pair
,
openId
))
{
return
pair
;
}
}
return
null
;
}
}
}
src/main/java/org/b3log/solo/service/UserMgmtService.java
View file @
c8e10867
...
@@ -33,17 +33,21 @@ import org.b3log.latke.repository.Transaction;
...
@@ -33,17 +33,21 @@ import org.b3log.latke.repository.Transaction;
import
org.b3log.latke.service.LangPropsService
;
import
org.b3log.latke.service.LangPropsService
;
import
org.b3log.latke.service.ServiceException
;
import
org.b3log.latke.service.ServiceException
;
import
org.b3log.latke.service.annotation.Service
;
import
org.b3log.latke.service.annotation.Service
;
import
org.b3log.latke.util.CollectionUtils
;
import
org.b3log.latke.util.Crypts
;
import
org.b3log.latke.util.Crypts
;
import
org.b3log.latke.util.Sessions
;
import
org.b3log.latke.util.Sessions
;
import
org.b3log.latke.util.Strings
;
import
org.b3log.latke.util.Strings
;
import
org.b3log.solo.model.Option
;
import
org.b3log.solo.model.UserExt
;
import
org.b3log.solo.model.UserExt
;
import
org.b3log.solo.repository.UserRepository
;
import
org.b3log.solo.repository.UserRepository
;
import
org.b3log.solo.util.Thumbnails
;
import
org.b3log.solo.util.Thumbnails
;
import
org.json.JSONArray
;
import
org.json.JSONObject
;
import
org.json.JSONObject
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.Cookie
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletRequest
;
import
javax.servlet.http.HttpServletResponse
;
import
javax.servlet.http.HttpServletResponse
;
import
java.util.Set
;
/**
/**
* User management service.
* User management service.
...
@@ -51,7 +55,7 @@ import javax.servlet.http.HttpServletResponse;
...
@@ -51,7 +55,7 @@ import javax.servlet.http.HttpServletResponse;
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="http://88250.b3log.org">Liang Ding</a>
* @author <a href="mailto:385321165@qq.com">DASHU</a>
* @author <a href="mailto:385321165@qq.com">DASHU</a>
* @author <a href="https://github.com/nanolikeyou">nanolikeyou</a>
* @author <a href="https://github.com/nanolikeyou">nanolikeyou</a>
* @version 1.1.0.1
2, Aug 2
, 2018
* @version 1.1.0.1
3, Sep 21
, 2018
* @since 0.4.0
* @since 0.4.0
*/
*/
@Service
@Service
...
@@ -79,6 +83,18 @@ public class UserMgmtService {
...
@@ -79,6 +83,18 @@ public class UserMgmtService {
@Inject
@Inject
private
LangPropsService
langPropsService
;
private
LangPropsService
langPropsService
;
/**
* Option query service.
*/
@Inject
private
OptionQueryService
optionQueryService
;
/**
* Option management service.
*/
@Inject
private
OptionMgmtService
optionMgmtService
;
/**
/**
* Tries to login with cookie.
* Tries to login with cookie.
*
*
...
@@ -364,9 +380,26 @@ public class UserMgmtService {
...
@@ -364,9 +380,26 @@ public class UserMgmtService {
transaction
.
rollback
();
transaction
.
rollback
();
}
}
LOGGER
.
log
(
Level
.
ERROR
,
"Removes a user[id="
+
userId
+
"] failed"
,
e
);
LOGGER
.
log
(
Level
.
ERROR
,
"Removes a user
[id="
+
userId
+
"] failed"
,
e
);
throw
new
ServiceException
(
e
);
throw
new
ServiceException
(
e
);
}
}
final
JSONObject
oauthGitHubOpt
=
optionQueryService
.
getOptionById
(
Option
.
ID_C_OAUTH_GITHUB
);
if
(
null
!=
oauthGitHubOpt
)
{
String
value
=
oauthGitHubOpt
.
optString
(
Option
.
OPTION_VALUE
);
try
{
final
Set
<
String
>
githubs
=
CollectionUtils
.
jsonArrayToSet
(
new
JSONArray
(
value
));
final
String
oAuthPair
=
Option
.
getOAuthPair
(
githubs
,
userId
);
if
(
StringUtils
.
isNotBlank
(
oAuthPair
))
{
githubs
.
remove
(
oAuthPair
);
value
=
new
JSONArray
(
githubs
).
toString
();
oauthGitHubOpt
.
put
(
Option
.
OPTION_VALUE
,
value
);
optionMgmtService
.
addOrUpdateOption
(
oauthGitHubOpt
);
}
}
catch
(
final
Exception
e
)
{
LOGGER
.
log
(
Level
.
ERROR
,
"Remove oauth GitHub data for user [id="
+
userId
+
"] failed"
,
e
);
}
}
}
}
/**
/**
...
...
skins
@
f9607e2c
Subproject commit
5008cd80069d06f8fed1d08ee6c5fa6a0b0819d1
Subproject commit
f9607e2c432ec40fb8bedce05eb232e3bdb071b0
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