WSO2 APIM/IS:如何配置默认身份提供者

WSO2 APIM/IS: How to configure default identity provider

我已经创建了一个自定义联合身份验证器并在名为 'kbank' 的身份提供程序中对其进行了配置。

如何配置让所有服务提供商默认使用此身份提供商,而不必为每个服务提供商单独指定它。由于在 API Manager 中,每个应用程序都被创建为 Service Provider,因此我们的系统中将会有很多且不断增加的 Service Provider。

在服务提供商配置页面中,我可以看到 "Default" 的选项,但我不知道如何指定默认值。

非常感谢。

您可以使用 IS_HOME/repository/conf/identity 中的 application-authentication.xml 指定默认验证器或默认序列。您可以使用 <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如下

<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>