gluu
公開メンバ関数 | 静的公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxauth.uma.service.UmaPermissionService クラス
org.xdi.oxauth.uma.service.UmaPermissionService 連携図
Collaboration graph

公開メンバ関数

String generateNewTicket ()
 
String addPermission (UmaPermissionList permissionList, String clientDn) throws Exception
 
Date ticketExpirationDate ()
 
void addPermission (UmaPermission permission, String clientDn)
 
void merge (UmaPermission permission)
 
void mergeSilently (UmaPermission permission)
 
List< UmaPermissiongetPermissionsByTicket (String ticket)
 
String getPermissionTicketByConfigurationCode (String configurationCode, String clientDn)
 
UmaPermission getPermissionByConfigurationCode (String p_configurationCode, String clientDn)
 
void deletePermission (String ticket)
 
void cleanup (final Date now)
 
void addBranch (String clientDn)
 
void addBranchIfNeeded (String clientDn)
 
boolean containsBranch (String clientDn)
 
String changeTicket (List< UmaPermission > permissions, Map< String, String > attributes)
 

静的公開メンバ関数

static String getDn (String clientDn, String ticket)
 
static String getBranchDn (String clientDn)
 

非公開メンバ関数

List< UmaPermissioncreatePermissions (UmaPermissionList permissions, Date expirationDate)
 
Filter getExpiredUmaPermissionFilter (Date date)
 

非公開変数類

Logger log
 
PersistenceEntryManager ldapEntryManager
 
StaticConfiguration staticConfiguration
 
UmaScopeService scopeService
 
AppConfiguration appConfiguration
 

静的非公開変数類

static final String ORGUNIT_OF_RESOURCE_PERMISSION = "uma_permission"
 
static final int DEFAULT_TICKET_LIFETIME = 3600
 

詳解

Holds permission tokens and permissions

著者
Yuriy Zabrovarnyy

関数詳解

◆ addBranch()

void org.xdi.oxauth.uma.service.UmaPermissionService.addBranch ( String  clientDn)
inline
200  {
201  final SimpleBranch branch = new SimpleBranch();
202  branch.setOrganizationalUnitName(ORGUNIT_OF_RESOURCE_PERMISSION);
203  branch.setDn(getBranchDn(clientDn));
204  ldapEntryManager.persist(branch);
205  }
static final String ORGUNIT_OF_RESOURCE_PERMISSION
Definition: UmaPermissionService.java:44
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
static String getBranchDn(String clientDn)
Definition: UmaPermissionService.java:66

◆ addBranchIfNeeded()

void org.xdi.oxauth.uma.service.UmaPermissionService.addBranchIfNeeded ( String  clientDn)
inline
207  {
208  if (!containsBranch(clientDn)) {
209  addBranch(clientDn);
210  }
211  }
void addBranch(String clientDn)
Definition: UmaPermissionService.java:200
boolean containsBranch(String clientDn)
Definition: UmaPermissionService.java:213

◆ addPermission() [1/2]

String org.xdi.oxauth.uma.service.UmaPermissionService.addPermission ( UmaPermissionList  permissionList,
String  clientDn 
) throws Exception
inline
90  {
91  try {
92  List<UmaPermission> created = createPermissions(permissionList, ticketExpirationDate());
93  for (UmaPermission permission : created) {
94  addPermission(permission, clientDn);
95  }
96  return created.get(0).getTicket();
97  } catch (Exception e) {
98  log.trace(e.getMessage(), e);
99  throw e;
100  }
101  }
Logger log
Definition: UmaPermissionService.java:48
String addPermission(UmaPermissionList permissionList, String clientDn)
Definition: UmaPermissionService.java:90
List< UmaPermission > createPermissions(UmaPermissionList permissions, Date expirationDate)
Definition: UmaPermissionService.java:70
Date ticketExpirationDate()
Definition: UmaPermissionService.java:103

◆ addPermission() [2/2]

void org.xdi.oxauth.uma.service.UmaPermissionService.addPermission ( UmaPermission  permission,
String  clientDn 
)
inline
114  {
115  try {
116  addBranchIfNeeded(clientDn);
117  permission.setDn(getDn(clientDn, permission.getTicket()));
118  ldapEntryManager.persist(permission);
119  } catch (Exception e) {
120  log.trace(e.getMessage(), e);
121  }
122  }
Logger log
Definition: UmaPermissionService.java:48
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
static String getDn(String clientDn, String ticket)
Definition: UmaPermissionService.java:62
void addBranchIfNeeded(String clientDn)
Definition: UmaPermissionService.java:207

◆ changeTicket()

String org.xdi.oxauth.uma.service.UmaPermissionService.changeTicket ( List< UmaPermission permissions,
Map< String, String >  attributes 
)
inline
217  {
218  String newTicket = generateNewTicket();
219 
220  for (UmaPermission permission : permissions) {
221  ldapEntryManager.remove(permission);
222 
223  String dn = String.format("oxTicket=%s,%s", newTicket, StringUtils.substringAfter(permission.getDn(), ","));
224  permission.setTicket(newTicket);
225  permission.setDn(dn);
226  permission.setAttributes(attributes);
227  ldapEntryManager.persist(permission);
228  }
229  return newTicket;
230  }
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
String generateNewTicket()
Definition: UmaPermissionService.java:86

◆ cleanup()

void org.xdi.oxauth.uma.service.UmaPermissionService.cleanup ( final Date  now)
inline
179  {
180  BatchOperation<UmaPermission> batchService = new ProcessBatchOperation<UmaPermission>() {
181  @Override
182  public void performAction(List<UmaPermission> entries) {
183  for (UmaPermission p : entries) {
184  try {
185  ldapEntryManager.remove(p);
186  } catch (Exception e) {
187  log.error("Failed to remove entry", e);
188  }
189  }
190  }
191 
192  };
193  ldapEntryManager.findEntries(staticConfiguration.getBaseDn().getClients(), UmaPermission.class, getExpiredUmaPermissionFilter(now), SearchScope.SUB, new String[] { "" }, batchService, 0, 0, CleanerTimer.BATCH_SIZE);
194  }
Logger log
Definition: UmaPermissionService.java:48
StaticConfiguration staticConfiguration
Definition: UmaPermissionService.java:54
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
String getClients()
Definition: BaseDnConfiguration.java:93
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32
Filter getExpiredUmaPermissionFilter(Date date)
Definition: UmaPermissionService.java:196

◆ containsBranch()

boolean org.xdi.oxauth.uma.service.UmaPermissionService.containsBranch ( String  clientDn)
inline
213  {
214  return ldapEntryManager.contains(SimpleBranch.class, getBranchDn(clientDn));
215  }
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
static String getBranchDn(String clientDn)
Definition: UmaPermissionService.java:66

◆ createPermissions()

List<UmaPermission> org.xdi.oxauth.uma.service.UmaPermissionService.createPermissions ( UmaPermissionList  permissions,
Date  expirationDate 
)
inlineprivate
70  {
71  final String configurationCode = INumGenerator.generate(8) + "." + System.currentTimeMillis();
72 
73  final String ticket = generateNewTicket();
74  List<UmaPermission> result = new ArrayList<UmaPermission>();
75  for (org.xdi.oxauth.model.uma.UmaPermission permission : permissions) {
76  UmaPermission p = new UmaPermission(permission.getResourceId(), scopeService.getScopeDNsByIdsAndAddToLdapIfNeeded(permission.getScopes()), ticket, configurationCode, expirationDate);
77  if (permission.getParams() != null && !permission.getParams().isEmpty()) {
78  p.getAttributes().putAll(permission.getParams());
79  }
80  result.add(p);
81  }
82 
83  return result;
84  }
List< String > getScopeDNsByIdsAndAddToLdapIfNeeded(List< String > scopeIds)
Definition: UmaScopeService.java:102
Definition: ClaimTokenFormatType.java:1
Definition: UmaPermission.java:37
String generateNewTicket()
Definition: UmaPermissionService.java:86
UmaScopeService scopeService
Definition: UmaPermissionService.java:57

◆ deletePermission()

void org.xdi.oxauth.uma.service.UmaPermissionService.deletePermission ( String  ticket)
inline
168  {
169  try {
170  final List<UmaPermission> permissions = getPermissionsByTicket(ticket);
171  for (UmaPermission p : permissions) {
172  ldapEntryManager.remove(p);
173  }
174  } catch (Exception e) {
175  log.trace(e.getMessage(), e);
176  }
177  }
Logger log
Definition: UmaPermissionService.java:48
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
List< UmaPermission > getPermissionsByTicket(String ticket)
Definition: UmaPermissionService.java:136

◆ generateNewTicket()

String org.xdi.oxauth.uma.service.UmaPermissionService.generateNewTicket ( )
inline
86  {
87  return UUID.randomUUID().toString();
88  }

◆ getBranchDn()

static String org.xdi.oxauth.uma.service.UmaPermissionService.getBranchDn ( String  clientDn)
inlinestatic
66  {
67  return String.format("ou=%s,%s", ORGUNIT_OF_RESOURCE_PERMISSION, clientDn);
68  }
static final String ORGUNIT_OF_RESOURCE_PERMISSION
Definition: UmaPermissionService.java:44

◆ getDn()

static String org.xdi.oxauth.uma.service.UmaPermissionService.getDn ( String  clientDn,
String  ticket 
)
inlinestatic
62  {
63  return String.format("oxTicket=%s,%s", ticket, getBranchDn(clientDn));
64  }
static String getBranchDn(String clientDn)
Definition: UmaPermissionService.java:66

◆ getExpiredUmaPermissionFilter()

Filter org.xdi.oxauth.uma.service.UmaPermissionService.getExpiredUmaPermissionFilter ( Date  date)
inlineprivate
196  {
197  return Filter.createLessOrEqualFilter("oxAuthExpiration", ldapEntryManager.encodeTime(date));
198  }
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51

◆ getPermissionByConfigurationCode()

UmaPermission org.xdi.oxauth.uma.service.UmaPermissionService.getPermissionByConfigurationCode ( String  p_configurationCode,
String  clientDn 
)
inline
155  {
156  try {
157  final Filter filter = Filter.create(String.format("&(oxConfigurationCode=%s)", p_configurationCode));
158  final List<UmaPermission> entries = ldapEntryManager.findEntries(clientDn, UmaPermission.class, filter);
159  if (entries != null && !entries.isEmpty()) {
160  return entries.get(0);
161  }
162  } catch (Exception e) {
163  log.trace(e.getMessage(), e);
164  }
165  return null;
166  }
Logger log
Definition: UmaPermissionService.java:48
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51

◆ getPermissionsByTicket()

List<UmaPermission> org.xdi.oxauth.uma.service.UmaPermissionService.getPermissionsByTicket ( String  ticket)
inline
136  {
137  try {
138  final String baseDn = staticConfiguration.getBaseDn().getClients();
139  final Filter filter = Filter.create(String.format("&(oxTicket=%s)", ticket));
140  return ldapEntryManager.findEntries(baseDn, UmaPermission.class, filter);
141  } catch (Exception e) {
142  log.trace(e.getMessage(), e);
143  }
144  return null;
145  }
Logger log
Definition: UmaPermissionService.java:48
StaticConfiguration staticConfiguration
Definition: UmaPermissionService.java:54
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51
String getClients()
Definition: BaseDnConfiguration.java:93
BaseDnConfiguration getBaseDn()
Definition: StaticConfiguration.java:32

◆ getPermissionTicketByConfigurationCode()

String org.xdi.oxauth.uma.service.UmaPermissionService.getPermissionTicketByConfigurationCode ( String  configurationCode,
String  clientDn 
)
inline
147  {
148  final UmaPermission permission = getPermissionByConfigurationCode(configurationCode, clientDn);
149  if (permission != null) {
150  return permission.getTicket();
151  }
152  return null;
153  }
UmaPermission getPermissionByConfigurationCode(String p_configurationCode, String clientDn)
Definition: UmaPermissionService.java:155

◆ merge()

void org.xdi.oxauth.uma.service.UmaPermissionService.merge ( UmaPermission  permission)
inline
124  {
125  ldapEntryManager.merge(permission);
126  }
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51

◆ mergeSilently()

void org.xdi.oxauth.uma.service.UmaPermissionService.mergeSilently ( UmaPermission  permission)
inline
128  {
129  try {
130  ldapEntryManager.merge(permission);
131  } catch (Exception e) {
132  log.error("Failed to persist permission: " + permission, e);
133  }
134  }
Logger log
Definition: UmaPermissionService.java:48
PersistenceEntryManager ldapEntryManager
Definition: UmaPermissionService.java:51

◆ ticketExpirationDate()

Date org.xdi.oxauth.uma.service.UmaPermissionService.ticketExpirationDate ( )
inline
103  {
104  int lifeTime = appConfiguration.getUmaTicketLifetime();
105  if (lifeTime <= 0) {
106  lifeTime = DEFAULT_TICKET_LIFETIME;
107  }
108 
109  final Calendar calendar = Calendar.getInstance();
110  calendar.add(Calendar.SECOND, lifeTime);
111  return calendar.getTime();
112  }
AppConfiguration appConfiguration
Definition: UmaPermissionService.java:60
static final int DEFAULT_TICKET_LIFETIME
Definition: UmaPermissionService.java:45
int getUmaTicketLifetime()
Definition: AppConfiguration.java:808

メンバ詳解

◆ appConfiguration

AppConfiguration org.xdi.oxauth.uma.service.UmaPermissionService.appConfiguration
private

◆ DEFAULT_TICKET_LIFETIME

final int org.xdi.oxauth.uma.service.UmaPermissionService.DEFAULT_TICKET_LIFETIME = 3600
staticprivate

◆ ldapEntryManager

PersistenceEntryManager org.xdi.oxauth.uma.service.UmaPermissionService.ldapEntryManager
private

◆ log

Logger org.xdi.oxauth.uma.service.UmaPermissionService.log
private

◆ ORGUNIT_OF_RESOURCE_PERMISSION

final String org.xdi.oxauth.uma.service.UmaPermissionService.ORGUNIT_OF_RESOURCE_PERMISSION = "uma_permission"
staticprivate

◆ scopeService

UmaScopeService org.xdi.oxauth.uma.service.UmaPermissionService.scopeService
private

◆ staticConfiguration

StaticConfiguration org.xdi.oxauth.uma.service.UmaPermissionService.staticConfiguration
private

このクラス詳解は次のファイルから抽出されました: