SwiftBlog

UserPrincipal.java

UserPrincipal.java
// Copyright (c) Microsoft Corporation. All rights reserved. // Licensed under the MIT License. package com.azure.spring.autoconfigure.aad; import com.nimbusds.jose.JWSObject; import com.nimbusds.jwt.JWTClaimsSet; import java.io.Serializable; import java.util.Map; import java.util.Optional; import java.util.Set; /** * entity class of UserPrincipal */ public class UserPrincipal implements Serializable { private static final long serialVersionUID = -3725690847771476854L; private static final String PERSONAL_ACCOUNT_TENANT_ID = "9188040d-6c67-4c5b-b112-36a304b66dad"; private String aadIssuedBearerToken; // id_token or access_token private final JWSObject jwsObject; private final JWTClaimsSet jwtClaimsSet; /** * All groups in aadIssuedBearerToken. Including the ones not exist in aadAuthenticationProperties.getUserGroup() * .getAllowedGroups() */ private Set<String> groups; /** * All roles in aadIssuedBearerToken. */ private Set<String> roles; private String accessTokenForGraphApi;  public UserPrincipal(String aadIssuedBearerToken, JWSObject jwsObject, JWTClaimsSet jwtClaimsSet) {  this.aadIssuedBearerToken = aadIssuedBearerToken;  this.jwsObject = jwsObject;  this.jwtClaimsSet = jwtClaimsSet;  } public String getAadIssuedBearerToken() {  return aadIssuedBearerToken; } public void setAadIssuedBearerToken(String aadIssuedBearerToken) {  this.aadIssuedBearerToken = aadIssuedBearerToken;  } public Set<String> getGroups() {  return this.groups; } public void setGroups(Set<String> groups) {  this.groups = groups;  } public Set<String> getRoles() {  return roles; } public void setRoles(Set<String> roles) {  this.roles = roles;  } public String getAccessTokenForGraphApi() {  return accessTokenForGraphApi; } public void setAccessTokenForGraphApi(String accessTokenForGraphApi) {  this.accessTokenForGraphApi = accessTokenForGraphApi;  } public boolean isMemberOf(AADAuthenticationProperties aadAuthenticationProperties, String group) {  return aadAuthenticationProperties.isAllowedGroup(group)  && Optional.of(groups)  .map(g -> g.contains(group))  .orElse(false); } public String getKid() {  return jwsObject == null ? null : jwsObject.getHeader().getKeyID(); } public String getIssuer() {  return jwtClaimsSet == null ? null : jwtClaimsSet.getIssuer(); } public String getSubject() {  return jwtClaimsSet == null ? null : jwtClaimsSet.getSubject(); } public Map<String, Object> getClaims() {  return jwtClaimsSet == null ? null : jwtClaimsSet.getClaims(); } public Object getClaim(String name) {  return jwtClaimsSet == null ? null : jwtClaimsSet.getClaim(name); } public String getName() {  return jwtClaimsSet == null ? null : (String) jwtClaimsSet.getClaim("name"); } public String getTenantId() {  return jwtClaimsSet == null ? null : (String) jwtClaimsSet.getClaim("tid"); } public String getUserPrincipalName() {  return jwtClaimsSet == null ? null : (String) jwtClaimsSet.getClaim("preferred_username"); } public boolean isPersonalAccount() {  return PERSONAL_ACCOUNT_TENANT_ID.equals(getTenantId()); } } 

ncG1vNJzZmiZqqq%2Fpr%2FDpJirrJmbrqTA0meZpaeSY7CwvsRnrqKmlKTEtHrNnqtomaqqv6Z50p2iZp6fp3qrrdWaZq2do6l6pLvVnqman5VkrrvB0Z5krKiinruoecGopq1nk6S6b63ZrqmeZqOlv6q6xmeYrqyfmLyvssigrKudXpaupXu0rJyriKKeu6S1z5qjZ6KRq65vtNOmow%3D%3D

Valentine Belue

Update: 2024-05-11