flowable / flowable/flowable-engine

Login not possibile: Missing decoding Spaces in UserId in Rest Call flowable-idm/api/idm/users

Aperta
#1,382 0 commenti 0 reazioni 0 assegnatari Vedi su GitHub
Lingua principale
Java
Stelle
9.5k
Fork
2.9k
Merge medio
7h 8m
PR unite (30g)
2

Descrizione

We are using LDAP (aktive directory) to authenticate with flowable with the AD distinguishedName as user-id attribute. If this distinguishedName contains Spaces, the user can authenticate on the IDM, but the TASK/Modeller App does not accept the auth and redirects to login again. Looking to the Debug console the problems comes more clear:

The TASK App call a Rest call to get user details:
/flowable-idm/api/idm/users/CN%3DPippo+Pluto%2COU%3DUsers+Italy%2COU%3DMyOu%2CDC%3DExample%2CDC%3DLOCALE

Debug output - As you can see the Value passt to the SQL Query (on IDM site) contains the + (Plus) sign and there is no result:

2018-10-31 13:38:55.987 DEBUG 1 --- [nio-8080-exec-7] o.f.c.e.i.i.LogInterceptor : --- starting PrivilegeQueryImpl --------------------------------------------------------
2018-10-31 13:38:55.987 DEBUG 1 --- [nio-8080-exec-7] o.f.i.s.SpringTransactionInterceptor : Running command with propagation REQUIRED
2018-10-31 13:38:55.987 DEBUG 1 --- [nio-8080-exec-7] o.s.j.d.DataSourceTransactionManager : Participating in existing transaction
2018-10-31 13:38:55.987 DEBUG 1 --- [nio-8080-exec-7] e.i.p.e.P.selectPrivilegeByQueryCriteria : ==> Preparing: select RES.* from ACT_ID_PRIV RES WHERE exists(select 1 from ACT_ID_PRIV_MAPPING mapping where RES.ID_ = mapping.PRIV_ID_ and mapping.USER_ID_ = ?) order by RES.ID_ asc
2018-10-31 13:38:55.987 DEBUG 1 --- [nio-8080-exec-7] e.i.p.e.P.selectPrivilegeByQueryCriteria : ==> **Parameters: CN=Pippo+Pluto,OU=Users+Italy,OU=MyOu,DC=Example,DC=LOCALE(String)**
2018-10-31 13:38:55.988 DEBUG 1 --- [nio-8080-exec-7] e.i.p.e.P.selectPrivilegeByQueryCriteria : <== **Total: 0**
2018-10-31 13:38:55.989 DEBUG 1 --- [nio-8080-exec-7] o.f.c.e.i.d.DbSqlSession : Flushing dbSqlSession
2018-10-31 13:38:55.989 DEBUG 1 --- [nio-8080-exec-7] o.f.c.e.i.d.DbSqlSession : flush summary: 0 insert, 0 update, 0 delete.
2018-10-31 13:38:55.989 DEBUG 1 --- [nio-8080-exec-7] o.f.c.e.i.d.DbSqlSession : now executing flush...
2018-10-31 13:38:55.989 DEBUG 1 --- [nio-8080-exec-7] o.f.c.e.i.i.LogInterceptor : --- PrivilegeQueryImpl finished --------------------------------------------------------

Guida per i contributori

Nessuna guida per i contributori indicizzata per questo repository

Direzione di ricerca

Inizia tracciando la chiamata REST a /flowable-idm/api/idm/users/{userId} e confronta il suo ID utente decodificato dall’URL con il parametro SQL mostrato nell’output di debug. Il lavoro è completato quando un distinguished name di Active Directory contenente spazi viene decodificato in modo coerente e la ricerca IDM restituisce l’utente autenticato per le applicazioni TASK e Modeller.

Scritto dal modello di indicizzazione a partire dal testo della issue.

Valutazione

Stack tecnologico
java
Ambito
api, authentication, backend
Tipo di issue
Bug
Difficoltà
4/5
Tempo stimato
3-5 giorni
Stato di attività
Ferma
Chiarezza
Abbastanza chiara
Idoneità per principianti
35/100

Ricevi le nuove issue nella tua casella

Un breve riepilogo di issue GitHub adatte ai principianti.