Skip to content

Commit 667b9b4

Browse files
authored
Merge pull request #10048 from wjglerum/security-docs
Update custom SecurityIdentityAugmentor to latest code
2 parents cca0535 + 6da92c5 commit 667b9b4

File tree

1 file changed

+15
-16
lines changed

1 file changed

+15
-16
lines changed

docs/src/main/asciidoc/security.adoc

Lines changed: 15 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -296,14 +296,14 @@ Internally, the identity providers create and update an istance of the `io.quark
296296

297297
[source,java]
298298
----
299-
import java.util.concurrent.CompletableFuture;
300-
import java.util.concurrent.CompletionStage;
301-
import javax.enterprise.context.ApplicationScoped;
302-
303299
import io.quarkus.security.identity.AuthenticationRequestContext;
304300
import io.quarkus.security.identity.SecurityIdentity;
305301
import io.quarkus.security.identity.SecurityIdentityAugmentor;
306302
import io.quarkus.security.runtime.QuarkusSecurityIdentity;
303+
import io.smallrye.mutiny.Uni;
304+
305+
import javax.enterprise.context.ApplicationScoped;
306+
import java.util.function.Supplier;
307307
308308
@ApplicationScoped
309309
public class RolesAugmentor implements SecurityIdentityAugmentor {
@@ -314,26 +314,25 @@ public class RolesAugmentor implements SecurityIdentityAugmentor {
314314
}
315315
316316
@Override
317-
public CompletionStage<SecurityIdentity> augment(SecurityIdentity identity, AuthenticationRequestContext context) {
317+
public Uni<SecurityIdentity> augment(SecurityIdentity identity, AuthenticationRequestContext context) {
318+
return context.runBlocking(build(identity));
319+
}
318320
319-
CompletableFuture<SecurityIdentity> cs = new CompletableFuture<>();
320-
if (identity.isAnonymous()) {
321-
cs.complete(identity);
321+
private Supplier<SecurityIdentity> build(SecurityIdentity identity) {
322+
if(identity.isAnonymous()) {
323+
return () -> identity;
322324
} else {
323325
// create a new builder and copy principal, attributes, credentials and roles from the original
324326
QuarkusSecurityIdentity.Builder builder = QuarkusSecurityIdentity.builder()
325-
.setPrincipal(identity.getPrincipal())
326-
.addAttributes(identity.getAttributes())
327-
.addCredentials(identity.getCredentials())
328-
.addRoles(identity.getRoles());
327+
.setPrincipal(identity.getPrincipal())
328+
.addAttributes(identity.getAttributes())
329+
.addCredentials(identity.getCredentials())
330+
.addRoles(identity.getRoles());
329331
330332
// add custom role source here
331333
builder.addRole("dummy");
332-
333-
cs.complete(builder.build());
334+
return builder::build;
334335
}
335-
336-
return cs;
337336
}
338337
}
339338
----

0 commit comments

Comments
 (0)