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 { @@ -278,7 +278,7 @@ public class UserModule extends BaseHandler implements UserService {
var code = params.getString(CODE);
var state = stateMap.remove(params.getString(STATE));
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);
try {

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

@ -446,14 +446,15 @@ CREATE TABLE IF NOT EXISTS {0} ( @@ -446,14 +446,15 @@ CREATE TABLE IF NOT EXISTS {0} (
public UmbrellaUser save(DbUser user) throws UmbrellaException {
try {
Long id = user.id();
var email = user.email() == null ? null : user.email().toString();
if (id<1){
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)
.close();
} else {
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)
.close();
}

Loading…
Cancel
Save