Browse Source

bugfixes:

- improved compatibility with OrcID
- allwed to alter password for user without email address (admin)

Signed-off-by: Stephan Richter <s.richter@srsoftware.de>
module/users
Stephan Richter 1 month ago
parent
commit
60c9a956aa
  1. 2
      user/src/main/java/de/srsoftware/umbrella/user/UserModule.java
  2. 5
      user/src/main/java/de/srsoftware/umbrella/user/sqlite/SqliteDB.java

2
user/src/main/java/de/srsoftware/umbrella/user/UserModule.java

@ -278,7 +278,7 @@ public class UserModule extends BaseHandler implements UserService {
var code = params.getString(CODE); var code = params.getString(CODE);
var state = stateMap.remove(params.getString(STATE)); var state = stateMap.remove(params.getString(STATE));
if (state == null) return sendContent(ex,HTTP_BAD_REQUEST,"no state submitted"); if (state == null) return sendContent(ex,HTTP_BAD_REQUEST,"no state submitted");
var redirect = url(ex).replaceAll("/api/.*",""); var redirect = url(ex).replaceAll("/api/.*","/oidc_callback");
var location = state.config.getString(TOKEN_ENDPOINT); var location = state.config.getString(TOKEN_ENDPOINT);
try { try {

5
user/src/main/java/de/srsoftware/umbrella/user/sqlite/SqliteDB.java

@ -446,14 +446,15 @@ CREATE TABLE IF NOT EXISTS {0} (
public UmbrellaUser save(DbUser user) throws UmbrellaException { public UmbrellaUser save(DbUser user) throws UmbrellaException {
try { try {
Long id = user.id(); Long id = user.id();
var email = user.email() == null ? null : user.email().toString();
if (id<1){ if (id<1){
insertInto(TABLE_USERS,LOGIN, PASS, THEME, EMAIL) insertInto(TABLE_USERS,LOGIN, PASS, THEME, EMAIL)
.values(user.name(), user.hashedPassword(), user.theme(), user.email().toString()) .values(user.name(), user.hashedPassword(), user.theme(), email)
.execute(db) .execute(db)
.close(); .close();
} else { } else {
replaceInto(TABLE_USERS, ID, LOGIN, PASS, THEME, EMAIL, LAST_LOGOFF) replaceInto(TABLE_USERS, ID, LOGIN, PASS, THEME, EMAIL, LAST_LOGOFF)
.values(id, user.name(), user.hashedPassword(), user.theme(), user.email().toString(), user.lastLogoff()) .values(id, user.name(), user.hashedPassword(), user.theme(), email, user.lastLogoff())
.execute(db) .execute(db)
.close(); .close();
} }

Loading…
Cancel
Save