我创建了一个自定义联合身份验证器,并在名为“kbank”的身份提供程序中对其进行配置 .
如何配置默认情况下让所有服务提供商使用此标识提供程序,而无需为每个服务提供商单独指定它 . 因为在API Manager中,每个应用程序都是作为服务提供者创建的,所以我们的系统中会有很多并且不断增加的服务提供者 .
在服务提供商配置页面中,我可以看到“默认”有一个选项,但我不知道如何指定默认值 .
非常感谢你 .
您可以使用IS_HOME / repository / conf / identity中的 application-authentication.xml 指定默认验证器或默认序列 . 您可以使用 <Sequences> 部分更改此设置 .
<Sequences>
如下所示,默认序列使用BasicAuthenticator设置为单步验证序列
<Sequences> <!-- Default Sequence. This is mandatory --> <Sequence appId="default"> <Step order="1"> <Authenticator name="BasicAuthenticator"/> </Step> </Sequence> </Sequences>
您可以将其修改为使用任何身份验证器作为默认值 . 您需要指定验证者的名称 .
感谢post,我的问题的解决方案是我必须修改 <APIM_Home>\repository\conf\identity\service-providers\default.xml 如下
<APIM_Home>\repository\conf\identity\service-providers\default.xml
<ServiceProvider> <ApplicationID>1</ApplicationID> <ApplicationName>default</ApplicationName> <Description>Default Service Provider</Description> <InboundAuthenticationConfig> <InboundAuthenticationRequestConfigs> <InboundAuthenticationRequestConfig> <InboundAuthKey>default</InboundAuthKey> <InboundAuthType></InboundAuthType> <Properties></Properties> </InboundAuthenticationRequestConfig> </InboundAuthenticationRequestConfigs> </InboundAuthenticationConfig> <LocalAndOutBoundAuthenticationConfig> <AuthenticationSteps> <AuthenticationStep> <StepOrder>1</StepOrder> <FederatedIdentityProviders> <IdentityProvider> <IdentityProviderName>kbank</IdentityProviderName> <IsEnabled>true</IsEnabled> <FederatedAuthenticatorConfigs> <FederatedAuthenticatorConfig> <Name>MyAuthenticator</Name> <IsEnabled>true</IsEnabled> </FederatedAuthenticatorConfig> </FederatedAuthenticatorConfigs> <DefaultAuthenticatorConfig>MyAuthenticator</DefaultAuthenticatorConfig> <JustInTimeProvisioningConfig> <UserStoreClaimUri></UserStoreClaimUri> <ProvisioningUserStore>PRIMARY</ProvisioningUserStore> <IsProvisioningEnabled>true</IsProvisioningEnabled> </JustInTimeProvisioningConfig> </IdentityProvider> </FederatedIdentityProviders> <SubjectStep>true</SubjectStep> <AttributeStep>true</AttributeStep> </AuthenticationStep> </AuthenticationSteps> </LocalAndOutBoundAuthenticationConfig> <RequestPathAuthenticatorConfigs></RequestPathAuthenticatorConfigs> <InboundProvisioningConfig></InboundProvisioningConfig> <OutboundProvisioningConfig></OutboundProvisioningConfig> <ClaimConfig> <AlwaysSendMappedLocalSubjectId>true</AlwaysSendMappedLocalSubjectId> </ClaimConfig> <PermissionAndRoleConfig></PermissionAndRoleConfig> </ServiceProvider>
2 回答
您可以使用IS_HOME / repository / conf / identity中的 application-authentication.xml 指定默认验证器或默认序列 . 您可以使用
<Sequences>
部分更改此设置 .如下所示,默认序列使用BasicAuthenticator设置为单步验证序列
您可以将其修改为使用任何身份验证器作为默认值 . 您需要指定验证者的名称 .
感谢post,我的问题的解决方案是我必须修改
<APIM_Home>\repository\conf\identity\service-providers\default.xml
如下