FilesystemMetadataProvider
を使用してファイルからIDPメタデータをロードするJava構成を使用するSpring SAMLプロジェクトがあります。私は起動時にデータベースからIDPをロードできるようにしたいと考えています。設定を変更する必要がある場合、変更を読み込むためにアプリを再起動する必要はありません。再読み込みはHTTPMetadataProvider
ですが、データベース用に1つありますか?これは可能ですか?データベースからIDPをロードするSpring SAML
0
A
答えて
0
あなたがネイティブに探しているものを実現するAbstractReloadingMetadataProviderの実装はありませんが、独自に実装することは難しくありません。
SSOProfileには、IDPのXMLが含まれています。 AbstractReloadingMetadataProvider
は、オーバーライドされたメソッドを使用して定期的にデータベースにアクセスし、メタデータの変更をリロードします。あなたが必要となります
public class DatabaseMetadataProvider extends AbstractReloadingMetadataProvider {
private final Logger log = LoggerFactory.getLogger(DatabaseMetadataProvider.class);
private SSOProfileService samlService;
private String entityId;
public DatabaseMetadataProvider(Timer backgroundTaskTimer, String entityId, SSOProfileService samlService) throws MetadataProviderException {
super(backgroundTaskTimer);
if (entityId == null) {
throw new MetadataProviderException("EntityId may not be null");
}
this.entityId = entityId;
if (samlService == null) {
throw new MetadataProviderException("Saml Service must not be null");
}
this.samlService = samlService;
}
@Override
protected String getMetadataIdentifier() {
return entityId;
}
@Override
protected byte[] fetchMetadata() throws MetadataProviderException {
SSOProfile ssoSaml = samlService.getSSOSamlProfileByEntityID(entityId);
if (ssoSaml == null) {
log.error("Could not find a valid entity in the DB for " + entityId + " to refresh from. ");
return null;
} else {
log.trace("Found idp metadata for " + ssoSaml.getEntityID() + ": " + ssoSaml.getIdpMetaData());
return ssoSaml.getIdpMetaData().getBytes(StandardCharsets.UTF_8);
}
}
/** {@inheritDoc} */
@Override
public synchronized void destroy() {
samlService = null;
entityId = null;
super.destroy();
}
}
次のことは、上のこれらMetadataProvidersのリストを返し、あなたのMetadataManagerにそれらを読み込むことができます起動するサービスです。
関連する問題
- 1. Spring Security SAML拡張 - Idpからのシングルログアウトのコールバック
- 2. Siteminder SAML 2.0 SPからIDPへのパートナーシップ
- 3. Spring SAML 2.0 - IDPのローカルメタデータをインポートする - MetadataProviderException
- 4. SAML&OAuthを - 既存のIDP
- 5. IDP利用可能SAML
- 6. 登録サービスプロバイダのないIDpにSAMLリクエストをIDp
- 7. wso2isはサードパーティのIDP Initiated SAMLを持つ
- 8. SSO-SAMLサービス担当者からIDPにログイン
- 9. SAMLを使用してidpからユーザのリストを取得する
- 10. SAML IdPとしてのGoogle Apps
- 11. SAML IdP - アイデンティティプロバイダとしてのAWS Cognito/IAM
- 12. ADFS:サードパーティのIdP起動SAMLのデフォルトリレーステート/リダイレクトパーティリダイレクト
- 13. ADFSなしでSAML IDPを設定できますか?
- 14. Spring SAMLでIDPメタデータを再読み込みするにはどうすればよいですか?
- 15. Spring MVCのデータベースからテーマをロードするには?
- 16. SP(サービスプロバイダ)でSAML SSO IDPメタデータをインポートする際の問題
- 17. アイデンティティプロバイダ(IdP)で状態パラメータを維持する方法SAML sso?
- 18. 私のアイデンティティプロバイダ(Idp)SAMLをローカルでテストする簡単な方法
- 19. Saml with spring 2.5.6
- 20. Spring SAML WSO2リフレッシュアサーション
- 21. Spring SAML 2.0
- 22. Spring saml SSO
- 23. 複数のSAML 2.0 IdPを持つOAuth2 - IdP選択はどこで行うのですか?
- 24. spring spのユーザ属性をldap + shibboleth idpから取得
- 25. CURLを使用してSpring-SAMLでSAML応答をPOSTする
- 26. WSO2 - SP/IDPによって開始される認証 - SAMLアサーション
- 27. SAML 2.0では、IdPとIdP Lite(ライト)とSP LiteとSP Liteの違いは何ですか?
- 28. shibboleth-saml with spring boot
- 29. Spring Security SAML with OKTA
- 30. Spring Security SAML SSO - グローバルログアウト