1919import me .kavin .piped .utils .RequestUtils ;
2020import me .kavin .piped .utils .obj .OidcData ;
2121import me .kavin .piped .utils .obj .OidcProvider ;
22+ import me .kavin .piped .utils .obj .db .OidcUserData ;
2223import me .kavin .piped .utils .obj .db .User ;
2324import me .kavin .piped .utils .resp .*;
2425import org .apache .commons .codec .digest .DigestUtils ;
@@ -297,6 +298,14 @@ public static byte[] deleteUserResponse(String session, String pass) throws IOEx
297298 String hash = user .getPassword ();
298299
299300 if (hash .isEmpty ()) {
301+
302+ CriteriaBuilder cb = s .getCriteriaBuilder ();
303+ CriteriaQuery <OidcUserData > cr = cb .createQuery (OidcUserData .class );
304+ Root <OidcUserData > root = cr .from (OidcUserData .class );
305+ cr .select (root ).where (cb .equal (root .get ("user" ), user .getId ()));
306+
307+ OidcUserData oidcUserData = s .createQuery (cr ).uniqueResult ();
308+
300309 //TODO: Get user from oidc table and lookup provider
301310 OidcProvider provider = Constants .OIDC_PROVIDERS .get (0 );
302311 URI callback = URI .create (String .format ("%s/oidc/%s/delete" , Constants .PUBLIC_URL , provider .name ));
@@ -310,7 +319,8 @@ public static byte[] deleteUserResponse(String session, String pass) throws IOEx
310319 .state (new State (state )).nonce (data .nonce ).maxAge (0 ).build ();
311320
312321
313- return String .format ("{\" redirect\" : \" %s\" }" , oidcRequest .toURI ().toString ()).getBytes ();
322+ return mapper .writeValueAsBytes (mapper .createObjectNode ()
323+ .put ("redirect" , oidcRequest .toURI ().toString ()));
314324 }
315325 if (!hashMatch (hash , pass ))
316326 ExceptionHandler .throwErrorResponse (new IncorrectCredentialsResponse ());
0 commit comments