keycloak-service
公開メンバ関数 | 非公開メンバ関数 | 非公開変数類 | 全メンバ一覧
org.keycloak.services.resources.admin.IdentityProvidersResource クラス
org.keycloak.services.resources.admin.IdentityProvidersResource 連携図
Collaboration graph

公開メンバ関数

 IdentityProvidersResource (RealmModel realm, KeycloakSession session, AdminPermissionEvaluator auth, AdminEventBuilder adminEvent)
 
Response getIdentityProviders (@PathParam("provider_id") String providerId)
 
Map< String, String > importFrom (MultipartFormDataInput input) throws IOException
 
Map< String, String > importFrom (Map< String, Object > data) throws IOException
 
List< IdentityProviderRepresentation > getIdentityProviders ()
 
Response create (IdentityProviderRepresentation representation)
 
IdentityProviderResource getIdentityProvider (@PathParam("alias") String alias)
 

非公開メンバ関数

IdentityProviderFactory getProviderFactorytById (String providerId)
 
List< ProviderFactory > getProviderFactories ()
 

非公開変数類

final RealmModel realm
 
final KeycloakSession session
 
AdminPermissionEvaluator auth
 
AdminEventBuilder adminEvent
 

詳解

Identity Providers

著者
Pedro Igor

構築子と解体子

◆ IdentityProvidersResource()

org.keycloak.services.resources.admin.IdentityProvidersResource.IdentityProvidersResource ( RealmModel  realm,
KeycloakSession  session,
AdminPermissionEvaluator  auth,
AdminEventBuilder  adminEvent 
)
inline
70  {
71  this.realm = realm;
72  this.session = session;
73  this.auth = auth;
74  this.adminEvent = adminEvent.resource(ResourceType.IDENTITY_PROVIDER);
75  }
final KeycloakSession session
Definition: IdentityProvidersResource.java:66
AdminEventBuilder adminEvent
Definition: IdentityProvidersResource.java:68
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67
AdminEventBuilder resource(ResourceType resourceType)
Definition: AdminEventBuilder.java:118
final RealmModel realm
Definition: IdentityProvidersResource.java:65

関数詳解

◆ create()

Response org.keycloak.services.resources.admin.IdentityProvidersResource.create ( IdentityProviderRepresentation  representation)
inline

Create a new identity provider

引数
representationJSON body
戻り値
182  {
184 
185  try {
186  IdentityProviderModel identityProvider = RepresentationToModel.toModel(realm, representation);
187  this.realm.addIdentityProvider(identityProvider);
188 
189  representation.setInternalId(identityProvider.getInternalId());
190  adminEvent.operation(OperationType.CREATE).resourcePath(session.getContext().getUri(), identityProvider.getAlias())
191  .representation(StripSecretsUtils.strip(representation)).success();
192 
193  return Response.created(session.getContext().getUri().getAbsolutePathBuilder().path(representation.getAlias()).build()).build();
194  } catch (ModelDuplicateException e) {
195  return ErrorResponse.exists("Identity Provider " + representation.getAlias() + " already exists");
196  }
197  }
final KeycloakSession session
Definition: IdentityProvidersResource.java:66
AdminEventBuilder adminEvent
Definition: IdentityProvidersResource.java:68
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67
AdminEventBuilder operation(OperationType operationType)
Definition: AdminEventBuilder.java:113
final RealmModel realm
Definition: IdentityProvidersResource.java:65
AdminEventBuilder resourcePath(String... pathElements)
Definition: AdminEventBuilder.java:171

◆ getIdentityProvider()

IdentityProviderResource org.keycloak.services.resources.admin.IdentityProvidersResource.getIdentityProvider ( @PathParam("alias") String  alias)
inline
200  {
202  IdentityProviderModel identityProviderModel = null;
203 
204  for (IdentityProviderModel storedIdentityProvider : this.realm.getIdentityProviders()) {
205  if (storedIdentityProvider.getAlias().equals(alias)
206  || storedIdentityProvider.getInternalId().equals(alias)) {
207  identityProviderModel = storedIdentityProvider;
208  }
209  }
210 
211  IdentityProviderResource identityProviderResource = new IdentityProviderResource(this.auth, realm, session, identityProviderModel, adminEvent);
212  ResteasyProviderFactory.getInstance().injectProperties(identityProviderResource);
213 
214  return identityProviderResource;
215  }
final KeycloakSession session
Definition: IdentityProvidersResource.java:66
AdminEventBuilder adminEvent
Definition: IdentityProvidersResource.java:68
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67
final RealmModel realm
Definition: IdentityProvidersResource.java:65

◆ getIdentityProviders() [1/2]

Response org.keycloak.services.resources.admin.IdentityProvidersResource.getIdentityProviders ( @PathParam("provider_id") String  providerId)
inline

Get identity providers

引数
providerIdProvider id
戻り値
87  {
89  IdentityProviderFactory providerFactory = getProviderFactorytById(providerId);
90  if (providerFactory != null) {
91  return Response.ok(providerFactory).build();
92  }
93  return Response.status(BAD_REQUEST).build();
94  }
IdentityProviderFactory getProviderFactorytById(String providerId)
Definition: IdentityProvidersResource.java:217
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67

◆ getIdentityProviders() [2/2]

List<IdentityProviderRepresentation> org.keycloak.services.resources.admin.IdentityProvidersResource.getIdentityProviders ( )
inline

Get identity providers

戻り値
162  {
164 
165  List<IdentityProviderRepresentation> representations = new ArrayList<IdentityProviderRepresentation>();
166 
167  for (IdentityProviderModel identityProviderModel : realm.getIdentityProviders()) {
168  representations.add(StripSecretsUtils.strip(ModelToRepresentation.toRepresentation(realm, identityProviderModel)));
169  }
170  return representations;
171  }
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67
final RealmModel realm
Definition: IdentityProvidersResource.java:65

◆ getProviderFactories()

List<ProviderFactory> org.keycloak.services.resources.admin.IdentityProvidersResource.getProviderFactories ( )
inlineprivate
229  {
230  List<ProviderFactory> allProviders = new ArrayList<ProviderFactory>();
231 
232  allProviders.addAll(this.session.getKeycloakSessionFactory().getProviderFactories(IdentityProvider.class));
233  allProviders.addAll(this.session.getKeycloakSessionFactory().getProviderFactories(SocialIdentityProvider.class));
234 
235  return allProviders;
236  }
final KeycloakSession session
Definition: IdentityProvidersResource.java:66

◆ getProviderFactorytById()

IdentityProviderFactory org.keycloak.services.resources.admin.IdentityProvidersResource.getProviderFactorytById ( String  providerId)
inlineprivate
217  {
218  List<ProviderFactory> allProviders = getProviderFactories();
219 
220  for (ProviderFactory providerFactory : allProviders) {
221  if (providerFactory.getId().equals(providerId)) {
222  return (IdentityProviderFactory) providerFactory;
223  }
224  }
225 
226  return null;
227  }
List< ProviderFactory > getProviderFactories()
Definition: IdentityProvidersResource.java:229

◆ importFrom() [1/2]

Map<String, String> org.keycloak.services.resources.admin.IdentityProvidersResource.importFrom ( MultipartFormDataInput  input) throws IOException
inline

Import identity provider from uploaded JSON file

引数
input
戻り値
例外
IOException
107  {
109  Map<String, List<InputPart>> formDataMap = input.getFormDataMap();
110  if (!(formDataMap.containsKey("providerId") && formDataMap.containsKey("file"))) {
111  throw new BadRequestException();
112  }
113  String providerId = formDataMap.get("providerId").get(0).getBodyAsString();
114  InputPart file = formDataMap.get("file").get(0);
115  InputStream inputStream = file.getBody(InputStream.class, null);
116  IdentityProviderFactory providerFactory = getProviderFactorytById(providerId);
117  Map<String, String> config = providerFactory.parseConfig(session, inputStream);
118  return config;
119  }
IdentityProviderFactory getProviderFactorytById(String providerId)
Definition: IdentityProvidersResource.java:217
final KeycloakSession session
Definition: IdentityProvidersResource.java:66
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67

◆ importFrom() [2/2]

Map<String, String> org.keycloak.services.resources.admin.IdentityProvidersResource.importFrom ( Map< String, Object >  data) throws IOException
inline

Import identity provider from JSON body

引数
dataJSON body
戻り値
例外
IOException
132  {
134  if (!(data.containsKey("providerId") && data.containsKey("fromUrl"))) {
135  throw new BadRequestException();
136  }
137  String providerId = data.get("providerId").toString();
138  String from = data.get("fromUrl").toString();
139  InputStream inputStream = session.getProvider(HttpClientProvider.class).get(from);
140  try {
141  IdentityProviderFactory providerFactory = getProviderFactorytById(providerId);
142  Map<String, String> config;
143  config = providerFactory.parseConfig(session, inputStream);
144  return config;
145  } finally {
146  try {
147  inputStream.close();
148  } catch (IOException e) {
149  }
150  }
151  }
IdentityProviderFactory getProviderFactorytById(String providerId)
Definition: IdentityProvidersResource.java:217
final KeycloakSession session
Definition: IdentityProvidersResource.java:66
AdminPermissionEvaluator auth
Definition: IdentityProvidersResource.java:67

メンバ詳解

◆ adminEvent

AdminEventBuilder org.keycloak.services.resources.admin.IdentityProvidersResource.adminEvent
private

◆ auth

AdminPermissionEvaluator org.keycloak.services.resources.admin.IdentityProvidersResource.auth
private

◆ realm

final RealmModel org.keycloak.services.resources.admin.IdentityProvidersResource.realm
private

◆ session

final KeycloakSession org.keycloak.services.resources.admin.IdentityProvidersResource.session
private

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