Skip to content

Commit

Permalink
Add support for managing custom federated authenticators.
Browse files Browse the repository at this point in the history
  • Loading branch information
Thisara-Welmilla committed Nov 5, 2024
1 parent 80fa63d commit 35805c7
Show file tree
Hide file tree
Showing 10 changed files with 470 additions and 9 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -61,6 +61,10 @@
<groupId>org.wso2.carbon.identity.framework</groupId>
<artifactId>org.wso2.carbon.identity.central.log.mgt</artifactId>
</dependency>
<dependency>
<groupId>org.wso2.carbon.identity.framework</groupId>
<artifactId>org.wso2.carbon.identity.action.management</artifactId>
</dependency>
</dependencies>

<build>
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2020, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<FindBugsFilter>
<!--
There seems to be a bug in findbug, unable to read some bytecodes generated by java 11
properly, when try-with-resource pattern is used. This fails the following classes.
Please remove this exclusion when findbug plugin us updated from
org.codehaus.mojo:findbugs-maven-plugin-3.0.5 to a newer one which has the fix for the issue.
references,
https://github.com/spotbugs/spotbugs/issues/756
-->
<Match>
<Class name="org.wso2.carbon.identity.role.mgt.core.dao.GroupDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Class name="org.wso2.carbon.identity.role.mgt.core.dao.RoleDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Class name="org.wso2.carbon.identity.role.v2.mgt.core.dao.GroupDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Class name="org.wso2.carbon.identity.role.v2.mgt.core.dao.RoleDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Bug pattern="EI_EXPOSE_REP,EI_EXPOSE_REP2,MS_EXPOSE_REP"/>
</Match>
<Match>
<Bug pattern="SING_SINGLETON_GETTER_NOT_SYNCHRONIZED"/>
</Match>
</FindBugsFilter>
Original file line number Diff line number Diff line change
Expand Up @@ -67,6 +67,11 @@ public class FederatedAuthenticatorConfig implements Serializable {
@XmlElement(name = "DefinedBy")
protected DefinedByType definedByType;

public FederatedAuthenticatorConfig() {

definedByType = DefinedByType.SYSTEM;
}

public static FederatedAuthenticatorConfig build(OMElement federatedAuthenticatorConfigOM) {

if (federatedAuthenticatorConfigOM == null) {
Expand Down
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
/*
* Copyright (c) 2024, WSO2 LLC. (http://www.wso2.com).
*
* WSO2 LLC. licenses this file to you under the Apache License,
* Version 2.0 (the "License"); you may not use this file except
* in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing,
* software distributed under the License is distributed on an
* "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
* KIND, either express or implied. See the License for the
* specific language governing permissions and limitations
* under the License.
*/

package org.wso2.carbon.identity.application.common.model;

import org.wso2.carbon.identity.action.management.model.EndpointConfig;
import org.wso2.carbon.identity.base.AuthenticatorPropertyConstants.AuthenticationType;
import org.wso2.carbon.identity.base.AuthenticatorPropertyConstants.DefinedByType;

/**
* Verification authenticator configuration.
*/
public class UserDefinedFederatedAuthenticatorConfig extends FederatedAuthenticatorConfig {

private static final String TAG_2FA = "2FA";
private static final String TAG_CUSTOM = "CUSTOM";

protected EndpointConfig endpointConfig;

public UserDefinedFederatedAuthenticatorConfig(AuthenticationType type) {

definedByType = DefinedByType.USER;
if (AuthenticationType.VERIFICATION == type) {
setTags(new String[]{TAG_CUSTOM, TAG_2FA});
} else {
setTags(new String[]{TAG_CUSTOM});
}
}

/**
* Get the endpoint config of the Local authenticator config.
*
* @return DefinedByType
*/
public EndpointConfig getEndpointConfig() {

return endpointConfig;
}

/**
* Set the defined by type of the Local authenticator config.
*
* @param endpointConfig The endpoint config of the local authenticator config.
*/
public void setEndpointConfig(EndpointConfig endpointConfig) {

this.endpointConfig = endpointConfig;
}
}
48 changes: 48 additions & 0 deletions components/application-mgt/spotbugs-exclude.xml
Original file line number Diff line number Diff line change
@@ -0,0 +1,48 @@
<?xml version="1.0" encoding="UTF-8"?>
<!--
~ Copyright (c) 2020, WSO2 Inc. (http://www.wso2.org) All Rights Reserved.
~
~ Licensed under the Apache License, Version 2.0 (the "License");
~ you may not use this file except in compliance with the License.
~ You may obtain a copy of the License at
~
~ http://www.apache.org/licenses/LICENSE-2.0
~
~ Unless required by applicable law or agreed to in writing, software
~ distributed under the License is distributed on an "AS IS" BASIS,
~ WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
~ See the License for the specific language governing permissions and
~ limitations under the License.
-->
<FindBugsFilter>
<!--
There seems to be a bug in findbug, unable to read some bytecodes generated by java 11
properly, when try-with-resource pattern is used. This fails the following classes.
Please remove this exclusion when findbug plugin us updated from
org.codehaus.mojo:findbugs-maven-plugin-3.0.5 to a newer one which has the fix for the issue.
references,
https://github.com/spotbugs/spotbugs/issues/756
-->
<Match>
<Class name="org.wso2.carbon.identity.role.mgt.core.dao.GroupDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Class name="org.wso2.carbon.identity.role.mgt.core.dao.RoleDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Class name="org.wso2.carbon.identity.role.v2.mgt.core.dao.GroupDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Class name="org.wso2.carbon.identity.role.v2.mgt.core.dao.RoleDAOImpl" />
<Bug pattern="RCN_REDUNDANT_NULLCHECK_WOULD_HAVE_BEEN_A_NPE"/>
</Match>
<Match>
<Bug pattern="EI_EXPOSE_REP,EI_EXPOSE_REP2,MS_EXPOSE_REP"/>
</Match>
<Match>
<Bug pattern="SING_SINGLETON_GETTER_NOT_SYNCHRONIZED"/>
</Match>
</FindBugsFilter>
Loading

0 comments on commit 35805c7

Please sign in to comment.