gluu
公開メンバ関数 | 静的公開メンバ関数 | 静的公開変数類 | 限定公開メンバ関数 | 限定公開変数類 | 非公開メンバ関数 | 非公開変数類 | 静的非公開変数類 | 全メンバ一覧
org.xdi.oxauth.service.external.ExternalUmaRptPolicyService クラス
org.xdi.oxauth.service.external.ExternalUmaRptPolicyService の継承関係図
Inheritance graph
org.xdi.oxauth.service.external.ExternalUmaRptPolicyService 連携図
Collaboration graph

公開メンバ関数

 ExternalUmaRptPolicyService ()
 
CustomScriptConfiguration getScriptByDn (String scriptDn)
 
CustomScriptConfiguration getScriptByInum (String inum)
 
boolean authorize (CustomScriptConfiguration script, UmaAuthorizationContext context)
 
List< ClaimDefinition > getRequiredClaims (CustomScriptConfiguration script, UmaAuthorizationContext context)
 
String getClaimsGatheringScriptName (CustomScriptConfiguration script, UmaAuthorizationContext context)
 

静的公開メンバ関数

static< T > T hotswap (CustomScriptManager scriptManager, CustomScriptConfiguration script, boolean rptPolicyScript)
 

静的公開変数類

static final boolean HOTSWAP_UMA_SCRIPT = Boolean.parseBoolean(System.getProperty("uma.hotswap.script"))
 

限定公開メンバ関数

void reloadExternal ()
 

限定公開変数類

Map< String, CustomScriptConfiguration > scriptInumMap
 

非公開メンバ関数

Map< String, CustomScriptConfiguration > buildExternalConfigurationsInumMap (List< CustomScriptConfiguration > customScriptConfigurations)
 
UmaRptPolicyType policyScript (CustomScriptConfiguration script)
 

非公開変数類

Logger log
 
LookupService lookupService
 
CustomScriptManager scriptManager
 

静的非公開変数類

static final long serialVersionUID = -8609727759114795435L
 

詳解

Provides factory methods needed to create external UMA authorization policies extension

著者
Yuriy Zabrovarnyy
Yuriy Movchan

構築子と解体子

◆ ExternalUmaRptPolicyService()

org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.ExternalUmaRptPolicyService ( )
inline
56  {
57  super(CustomScriptType.UMA_RPT_POLICY);
58  }

関数詳解

◆ authorize()

boolean org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.authorize ( CustomScriptConfiguration  script,
UmaAuthorizationContext  context 
)
inline
94  {
95  try {
96  log.debug("Executing python 'authorize' method, script: " + script.getName());
97  boolean result = policyScript(script).authorize(context);
98  log.debug("python 'authorize' result: " + result);
99  return result;
100  } catch (Exception ex) {
101  log.error("Failed to execute python 'authorize' method, script: " + script.getName() + ", message: " + ex.getMessage(), ex);
102  saveScriptError(script.getCustomScript(), ex);
103  return false;
104  }
105  }
UmaRptPolicyType policyScript(CustomScriptConfiguration script)
Definition: ExternalUmaRptPolicyService.java:89
Logger log
Definition: ExternalUmaRptPolicyService.java:48

◆ buildExternalConfigurationsInumMap()

Map<String, CustomScriptConfiguration> org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.buildExternalConfigurationsInumMap ( List< CustomScriptConfiguration >  customScriptConfigurations)
inlineprivate
65  {
66  Map<String, CustomScriptConfiguration> reloadedExternalConfigurations = new HashMap<String, CustomScriptConfiguration>(customScriptConfigurations.size());
67 
68  for (CustomScriptConfiguration customScriptConfiguration : customScriptConfigurations) {
69  reloadedExternalConfigurations.put(customScriptConfiguration.getInum(), customScriptConfiguration);
70  }
71 
72  return reloadedExternalConfigurations;
73  }

◆ getClaimsGatheringScriptName()

String org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.getClaimsGatheringScriptName ( CustomScriptConfiguration  script,
UmaAuthorizationContext  context 
)
inline
120  {
121  try {
122  log.debug("Executing python 'getClaimsGatheringScriptName' method, script: " + script.getName());
123  String result = policyScript(script).getClaimsGatheringScriptName(context);
124  log.debug("python 'getClaimsGatheringScriptName' result: " + result);
125  return result;
126  } catch (Exception ex) {
127  log.error("Failed to execute python 'getClaimsGatheringScriptName' method, script: " + script.getName() + ", message: " + ex.getMessage(), ex);
128  saveScriptError(script.getCustomScript(), ex);
129  return "";
130  }
131  }
UmaRptPolicyType policyScript(CustomScriptConfiguration script)
Definition: ExternalUmaRptPolicyService.java:89
Logger log
Definition: ExternalUmaRptPolicyService.java:48

◆ getRequiredClaims()

List<ClaimDefinition> org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.getRequiredClaims ( CustomScriptConfiguration  script,
UmaAuthorizationContext  context 
)
inline
107  {
108  try {
109  log.debug("Executing python 'getRequiredClaims' method, script: " + script.getName());
110  List<ClaimDefinition> result = policyScript(script).getRequiredClaims(context);
111  log.debug("python 'getRequiredClaims' result: " + result);
112  return result;
113  } catch (Exception ex) {
114  log.error("Failed to execute python 'getRequiredClaims' method, script: " + script.getName() + ", message: " + ex.getMessage(), ex);
115  saveScriptError(script.getCustomScript(), ex);
116  return new ArrayList<ClaimDefinition>();
117  }
118  }
UmaRptPolicyType policyScript(CustomScriptConfiguration script)
Definition: ExternalUmaRptPolicyService.java:89
Logger log
Definition: ExternalUmaRptPolicyService.java:48

◆ getScriptByDn()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.getScriptByDn ( String  scriptDn)
inline
75  {
76  String authorizationPolicyInum = lookupService.getInumFromDn(scriptDn);
77 
78  return getScriptByInum(authorizationPolicyInum);
79  }
CustomScriptConfiguration getScriptByInum(String inum)
Definition: ExternalUmaRptPolicyService.java:81
LookupService lookupService
Definition: ExternalUmaRptPolicyService.java:50

◆ getScriptByInum()

CustomScriptConfiguration org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.getScriptByInum ( String  inum)
inline
81  {
82  if (StringHelper.isEmpty(inum)) {
83  return null;
84  }
85 
86  return this.scriptInumMap.get(inum);
87  }
Map< String, CustomScriptConfiguration > scriptInumMap
Definition: ExternalUmaRptPolicyService.java:54

◆ hotswap()

static <T> T org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.hotswap ( CustomScriptManager  scriptManager,
CustomScriptConfiguration  script,
boolean  rptPolicyScript 
)
inlinestatic
133  {
134  if (!HOTSWAP_UMA_SCRIPT) {
135  throw new RuntimeException("UMA script hotswap is not allowed");
136  }
137 
138  final String scriptPath;
139  if (rptPolicyScript) {
140  scriptPath = System.getProperty("uma.hotswap.rpt_policy_script.path");
141  } else {
142  scriptPath = System.getProperty("uma.hotswap.claims_gathering_script.path");
143  }
144  try {
145  String scriptCode = FileUtils.readFileToString(new File(scriptPath));
146  script.getCustomScript().setScript(scriptCode);
147  return (T) scriptManager.createExternalTypeFromStringWithPythonException(script.getCustomScript(), script.getConfigurationAttributes());
148  } catch (Exception e) {
149  throw new RuntimeException(e);
150  }
151  }
static final boolean HOTSWAP_UMA_SCRIPT
Definition: ExternalUmaRptPolicyService.java:45
CustomScriptManager scriptManager
Definition: ExternalUmaRptPolicyService.java:52

◆ policyScript()

UmaRptPolicyType org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.policyScript ( CustomScriptConfiguration  script)
inlineprivate
89  {
90  return HOTSWAP_UMA_SCRIPT ? (UmaRptPolicyType) hotswap(scriptManager, script, true) :
91  (UmaRptPolicyType) script.getExternalType();
92  }
static final boolean HOTSWAP_UMA_SCRIPT
Definition: ExternalUmaRptPolicyService.java:45
static< T > T hotswap(CustomScriptManager scriptManager, CustomScriptConfiguration script, boolean rptPolicyScript)
Definition: ExternalUmaRptPolicyService.java:133
CustomScriptManager scriptManager
Definition: ExternalUmaRptPolicyService.java:52

◆ reloadExternal()

void org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.reloadExternal ( )
inlineprotected
61  {
62  this.scriptInumMap = buildExternalConfigurationsInumMap(this.customScriptConfigurations);
63  }
Map< String, CustomScriptConfiguration > scriptInumMap
Definition: ExternalUmaRptPolicyService.java:54
Map< String, CustomScriptConfiguration > buildExternalConfigurationsInumMap(List< CustomScriptConfiguration > customScriptConfigurations)
Definition: ExternalUmaRptPolicyService.java:65

メンバ詳解

◆ HOTSWAP_UMA_SCRIPT

final boolean org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.HOTSWAP_UMA_SCRIPT = Boolean.parseBoolean(System.getProperty("uma.hotswap.script"))
static

◆ log

Logger org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.log
private

◆ lookupService

LookupService org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.lookupService
private

◆ scriptInumMap

Map<String, CustomScriptConfiguration> org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.scriptInumMap
protected

◆ scriptManager

CustomScriptManager org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.scriptManager
private

◆ serialVersionUID

final long org.xdi.oxauth.service.external.ExternalUmaRptPolicyService.serialVersionUID = -8609727759114795435L
staticprivate

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