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

公開メンバ関数

CommandResponse execute (GetLogoutUrlParams params) throws Exception
 
Class< T > getParameterClass ()
 
getParams ()
 
Injector getInjector ()
 
HttpService getHttpService ()
 
IntrospectionService getIntrospectionService ()
 
PublicOpKeyService getKeyService ()
 
StateService getStateService ()
 
LicenseService getLicenseService ()
 
DiscoveryService getDiscoveryService ()
 
UmaTokenService getUmaTokenService ()
 
RpService getRpService ()
 
ConfigurationService getConfigurationService ()
 
OxAuthCryptoProvider getCryptoProvider () throws Exception
 
Rp getRp ()
 
ValidationService getValidationService ()
 
Command getCommand ()
 
CommandResponse okResponse (IOpResponse p_data)
 

限定公開メンバ関数

 GetLogoutUrlOperation (Command command, final Injector injector)
 

関数

public< T > T getInstance (Class< T > type)
 

非公開メンバ関数

String getIdToken (GetLogoutUrlParams params, Rp site)
 

静的非公開変数類

static final String GOOGLE_OP_HOST = "https://accounts.google.com"
 
static final Logger LOG = LoggerFactory.getLogger(GetLogoutUrlOperation.class)
 

詳解

著者
Yuriy Zabrovarnyy
バージョン
0.9, 17/11/2015

構築子と解体子

◆ GetLogoutUrlOperation()

org.xdi.oxd.server.op.GetLogoutUrlOperation.GetLogoutUrlOperation ( Command  command,
final Injector  injector 
)
inlineprotected

Base constructor

引数
commandcommand
35  {
36  super(command, injector, GetLogoutUrlParams.class);
37  }
final Command command
Definition: BaseOperation.java:37
final Injector injector
Definition: BaseOperation.java:38

関数詳解

◆ execute()

CommandResponse org.xdi.oxd.server.op.GetLogoutUrlOperation.execute ( GetLogoutUrlParams  params) throws Exception
inline
40  {
41  final Rp site = getRp();
42 
43  OpenIdConfigurationResponse discoveryResponse = getDiscoveryService().getConnectDiscoveryResponse(site);
44  String endSessionEndpoint = discoveryResponse.getEndSessionEndpoint();
45 
46  String postLogoutRedirectUrl = params.getPostLogoutRedirectUri();
47  if (Strings.isNullOrEmpty(postLogoutRedirectUrl)) {
48  postLogoutRedirectUrl = site.getPostLogoutRedirectUri();
49  }
50  if (Strings.isNullOrEmpty(postLogoutRedirectUrl)) {
51  postLogoutRedirectUrl = "";
52  }
53 
54  if (Strings.isNullOrEmpty(endSessionEndpoint)) {
55  if (site.getOpHost().startsWith(GOOGLE_OP_HOST) && getInstance(ConfigurationService.class).get().getSupportGoogleLogout()) {
56  String logoutUrl = "https://www.google.com/accounts/Logout?continue=https://appengine.google.com/_ah/logout?continue=" + postLogoutRedirectUrl;
57  return okResponse(new LogoutResponse(logoutUrl));
58  }
59 
60  LOG.error("Failed to get end_session_endpoint at: " + getDiscoveryService().getConnectDiscoveryUrl(site));
61  throw new ErrorResponseException(ErrorResponseCode.FAILED_TO_GET_END_SESSION_ENDPOINT);
62  }
63 
64  String uri = endSessionEndpoint +
65  "?id_token_hint=" + getIdToken(params, site);
66  if (!Strings.isNullOrEmpty(postLogoutRedirectUrl)) {
67  uri += "&post_logout_redirect_uri=" + URLEncoder.encode(postLogoutRedirectUrl, "UTF-8");
68  }
69  if (!Strings.isNullOrEmpty(params.getState())) {
70  uri += "&state=" + params.getState();
71  }
72  if (!Strings.isNullOrEmpty(params.getSessionState())) {
73  uri += "&session_state=" + params.getSessionState();
74  }
75 
76  return okResponse(new LogoutResponse(uri));
77  }
String getIdToken(GetLogoutUrlParams params, Rp site)
Definition: GetLogoutUrlOperation.java:79
CommandResponse okResponse(IOpResponse p_data)
Definition: BaseOperation.java:145
static final Logger LOG
Definition: GetLogoutUrlOperation.java:28
DiscoveryService getDiscoveryService()
Definition: BaseOperation.java:96
static final String GOOGLE_OP_HOST
Definition: GetLogoutUrlOperation.java:26
Rp getRp()
Definition: BaseOperation.java:117
final T params
Definition: BaseOperation.java:40
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getCommand()

Command org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getCommand ( )
inlineinherited

Returns command

戻り値
command
135  {
136  return command;
137  }
final Command command
Definition: BaseOperation.java:37

◆ getConfigurationService()

ConfigurationService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getConfigurationService ( )
inlineinherited
108  {
109  return getInstance(ConfigurationService.class);
110  }
Definition: ConfigurationService.java:17
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getCryptoProvider()

OxAuthCryptoProvider org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getCryptoProvider ( ) throws Exception
inlineinherited
112  {
114  return new OxAuthCryptoProvider(conf.getCryptProviderKeyStorePath(), conf.getCryptProviderKeyStorePassword(), conf.getCryptProviderDnName());
115  }
Definition: OxdServerConfiguration.java:9
ConfigurationService getConfigurationService()
Definition: BaseOperation.java:108
String getCryptProviderDnName()
Definition: OxdServerConfiguration.java:94
String getCryptProviderKeyStorePassword()
Definition: OxdServerConfiguration.java:86
String getCryptProviderKeyStorePath()
Definition: OxdServerConfiguration.java:78
OxdServerConfiguration get()
Definition: ConfigurationService.java:54

◆ getDiscoveryService()

DiscoveryService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getDiscoveryService ( )
inlineinherited
96  {
97  return getInstance(DiscoveryService.class);
98  }
Definition: DiscoveryService.java:24
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getHttpService()

HttpService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getHttpService ( )
inlineinherited
72  {
73  return getInstance(HttpService.class);
74  }
Definition: HttpService.java:23
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getIdToken()

String org.xdi.oxd.server.op.GetLogoutUrlOperation.getIdToken ( GetLogoutUrlParams  params,
Rp  site 
)
inlineprivate
79  {
80  if (!Strings.isNullOrEmpty(params.getIdTokenHint())) {
81  return params.getIdTokenHint();
82  }
83  if (!Strings.isNullOrEmpty(site.getIdToken())) {
84  return site.getIdToken();
85  }
86  throw new RuntimeException("id_token is not present in command parameter and also is not present in site conf.");
87  }
final T params
Definition: BaseOperation.java:40

◆ getInjector()

Injector org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getInjector ( )
inlineinherited

Gets injector.

戻り値
injector
68  {
69  return injector;
70  }
final Injector injector
Definition: BaseOperation.java:38

◆ getInstance()

public<T> T org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getInstance ( Class< T >  type)
inlinepackageinherited
84  {
85  return injector.getInstance(type);
86  }
final Injector injector
Definition: BaseOperation.java:38

◆ getIntrospectionService()

IntrospectionService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getIntrospectionService ( )
inlineinherited
76  {
77  return getInstance(IntrospectionService.class);
78  }
Definition: IntrospectionService.java:22
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getKeyService()

PublicOpKeyService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getKeyService ( )
inlineinherited
80  {
81  return getInstance(PublicOpKeyService.class);
82  }
Definition: PublicOpKeyService.java:22
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getLicenseService()

LicenseService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getLicenseService ( )
inlineinherited
92  {
93  return getInstance(LicenseService.class);
94  }
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getParameterClass()

Class<T> org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getParameterClass ( )
inlineinherited
55  {
56  return parameterClass;
57  }
final Class< T > parameterClass
Definition: BaseOperation.java:39

◆ getParams()

T org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getParams ( )
inlineinherited
59  {
60  return params;
61  }
final T params
Definition: BaseOperation.java:40

◆ getRp()

Rp org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getRp ( )
inlineinherited
117  {
118  if (params instanceof HasOxdIdParams) {
119  getValidationService().validate((HasOxdIdParams) params);
120  HasOxdIdParams hasOxdId = (HasOxdIdParams) params;
121  return getRpService().getRp(hasOxdId.getOxdId());
122  }
124  }
Definition: ErrorResponseException.java:8
ValidationService getValidationService()
Definition: BaseOperation.java:126
Pair< Rp, Boolean > validate(IParams params)
Definition: ValidationService.java:41
RpService getRpService()
Definition: BaseOperation.java:104
Definition: ErrorResponseCode.java:18
Rp getRp(String oxdId)
Definition: RpService.java:55
final T params
Definition: BaseOperation.java:40
BAD_REQUEST_NO_OXD_ID
Definition: ErrorResponseCode.java:22

◆ getRpService()

RpService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getRpService ( )
inlineinherited
104  {
105  return getInstance(RpService.class);
106  }
Definition: RpService.java:23
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getStateService()

StateService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getStateService ( )
inlineinherited
88  {
89  return getInstance(StateService.class);
90  }
Definition: StateService.java:19
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getUmaTokenService()

UmaTokenService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getUmaTokenService ( )
inlineinherited
100  {
101  return getInstance(UmaTokenService.class);
102  }
Definition: UmaTokenService.java:42
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ getValidationService()

ValidationService org.xdi.oxd.server.op.BaseOperation< T extends IParams >.getValidationService ( )
inlineinherited
126  {
127  return getInstance(ValidationService.class);
128  }
Definition: ValidationService.java:19
public< T > T getInstance(Class< T > type)
Definition: BaseOperation.java:84

◆ okResponse()

CommandResponse org.xdi.oxd.server.op.BaseOperation< T extends IParams >.okResponse ( IOpResponse  p_data)
inlineinherited

Ok response for operation

引数
p_dataresponse
戻り値
ok response with data
145  {
146  if (p_data == null) {
147  return CommandResponse.createInternalError();
148  }
149  return CommandResponse.ok().setData(new POJONode(p_data));
150  }

メンバ詳解

◆ GOOGLE_OP_HOST

final String org.xdi.oxd.server.op.GetLogoutUrlOperation.GOOGLE_OP_HOST = "https://accounts.google.com"
staticprivate

◆ LOG

final Logger org.xdi.oxd.server.op.GetLogoutUrlOperation.LOG = LoggerFactory.getLogger(GetLogoutUrlOperation.class)
staticprivate

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