GithubHelp home page GithubHelp logo

wso2 / carbon-identity-framework Goto Github PK

View Code? Open in Web Editor NEW
118.0 107.0 527.0 484.95 MB

License: Apache License 2.0

Java 90.59% CSS 0.65% HTML 0.05% JavaScript 3.33% XSLT 0.01% PLSQL 1.22% Thrift 0.01% PLpgSQL 0.67% Shell 0.06% TSQL 0.79% SQLPL 0.39% Jinja 2.23%
hacktoberfest

carbon-identity-framework's Introduction

carbon-identity-framework

Branch Build Status Travis CI Status
master Build Status Travis CI Status

This repository contains the core components and features required by the WSO2 Identity Server product.

Building from the source

If you want to build carbon-identity-framework from the source code:

  1. Install Java 11
  2. Install Apache Maven 3.x.x (https://maven.apache.org/download.cgi)
  3. Get a clone or download the source from this repository (https://github.com/wso2/carbon-identity-framework.git)
  4. Run the Maven command mvn clean install from the carbon-identity-framework directory.

carbon-identity-framework's People

Contributors

anuradhask avatar ashensw avatar chamathns avatar chanikaruchini avatar darshanasbg avatar dewnimw avatar dmhp avatar emswbandara avatar gangani avatar hasinthaindrajee avatar indunilrathnayake avatar isurad avatar janakamarasena avatar jkaushalya avatar madurangasiriwardena avatar malithie avatar nilasini avatar omindu avatar piraveena avatar pulasthi7 avatar sadilchamishka avatar senthalan avatar shanggeeth avatar shashimalcse avatar somindatommy avatar thamindur avatar thanujalk avatar thisara-welmilla avatar thumimku avatar wso2-jenkins-bot avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

carbon-identity-framework's Issues

Remove HttpServlet Request and Response from AuthenticationContext

Description:
HttpServletRequest and HttpServletREsponse objects are added to AuthenticationContext on Conditional Authentication enhancement.
However this information should not be visible to any code consuming AuthenticationContext.

Suggested Labels:
IS 5.5.0

Suggested Assignees:
ruwanta

Affected Product Version:
IS 5.5.0

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Requested claims are missing if cookie presents in the OIDC request.

Description:
Requested claims in are available at the first request but consequent second request to the IS without login out(When the cookie is available) will not return the requested claims.

Suggested Labels:
N/A

Suggested Assignees:
N/A

Affected Product Version:
5.5.0

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Last Login Time Stamp returns the Current Login Timestamp

We are trying to retrieve user last Login timestamp and display in UI. For this, we are getting the last login timestamp from user claims. However, after user logs in to their account the timestamp gets updated and the token generated after login returns the current login time.

We need the last login timestamp and not the current one.
Is this the expected behavior?
If yes, how do we achieve the last one and not the current one (Is there different claim for it?).
If no, what did we miss?

Additional Query Parameters field UI bug

Description:
Additional Query Parameters field omits space separated values

Affected Product Version: 5.1.3

Steps to reproduce:

  1. Create a new Identity Provider
  2. Configure an OIDC federated authenticator
  3. Add Additional Query Parameters with space separated values
    eg: scope=openid profile
  4. Save the IdP.
  5. View created IdP. Additional Query Parameters field only contains the following
    scope=openid

But this is correctly shown in the url : scope=openid+profile
Therefore, the issue is in the UI component.

Remove hard dependency to XercesImpl

Description:
Few places in identity framework has XercesImpl hard dependency. This is unnecessary as JDK now packs XercesImpl, and the software should use the XercesImpl from JDK.

Having the dependency causes DocumentBuilderFactory to be clashed with the provided one in the JDK.

Suggested Labels:
improvement

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Conditional claim handling

Conditional Authentication needs to support claim handling.

  1. Allow read claims in javascript
  2. Add/Modify/Delete existing claims in Authentication Context

Issues with mobile connect configurations

Description:
In application-authentication.xml file, the client_id, client_secret parameters are still configurable even though those are moved to the Management Console UI

Suggested Labels:
IS

Suggested Assignees:
prakhash

Affected Product Version:
5.4.0

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

QUESTION - multiple User stores

Hi,

Can you let me know if there is an obvious way to pull claims (I.E LDAP groups) from 2 users stores when a given user exists in both and may have different roles in both stores?

Thanks in advance.

No error messages display when reusing the redirection URL and when using the redirection URL after the expiry time

Description:
When trying to reset the password using ask password this issue has happened.

Steps to reproduce:
Configure to reset the password using ask password.
Set the expired link to 1day.
Click on the redirection URL of the received email after expire day.
Enter the password and submit. (It should give some kind of error indicate the link is expired.But, they get an empty screen without any error).
This issue has happened for below scenarios.

When trying to reset the password by clicking the received link of the email, after the expiryTime.
When trying to reset the password reusing the received link of the email, before the expiryTime.

Introduce new abstract application authenticator class for local authenticator

Description:
Any authenticator that is not federated authenticator and that is not use the user store to authenticate the user (E.g SMSOTP,TOTP,EmailOTP) can extend this new abstract application authenticator. Hence event firing for account locking will happened for that particular authenticators only from the framework level without affecting the existing implementation(AbstractApplicationAuthenticator).

Improve performance by caching Claim Dialect

Description:
The ClaimDialectDAO used in ClaimMetadataManagementServiceImpl and DefaultClaimMetadataStore calls the underlying DB directly per each request.
The claim dialect can be cached locally as this is seldom changed.
Add CacheBackedClaimDialectDAO and use it instead of ClaimDialectDAO.

Suggested Labels:

Improvement

Suggested Assignees:

Affected Product Version:
IS 5.3.0, IS 5.4.0, IS 5.5.0

OS, DB, other environment details and versions:
All Databases.

Steps to reproduce:

Related Issues:

Attach conditional authentication script fails with MSSQL

Description:

Caused by: com.microsoft.sqlserver.jdbc.SQLServerException: Implicit conversion from data type nvarchar(max) to varbinary(max) is not allowed. Use the CONVERT function to run this query.

DB script fix:
CREATE TABLE SP_AUTH_SCRIPT (
ID INTEGER IDENTITY NOT NULL,
TENANT_ID INTEGER NOT NULL,
APP_ID INTEGER NOT NULL,
TYPE VARCHAR(255) NOT NULL,
CONTENT NVARCHAR(MAX) DEFAULT NULL,
IS_ENABLED CHAR(1) NOT NULL DEFAULT '0',
PRIMARY KEY (ID)
);

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Have a timeout for longwait

Description:
GraphBasedSequenceHandler cotains

synchronized (context) {
                    try {
                        context.wait();
                    } catch (InterruptedException e) {
                        Thread.currentThread().interrupt();
                        log.error("Error while waiting for the external call the complete. ", e);
                    }
                }

Have a proper timeout handling and bail out with exception.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Tenant domain is not printed in audit logs

Description:
Tenant domain is not printed in service provider creation and workflow event listener audit logs.

Suggested Labels:
N/A

Suggested Assignees:
N/A

Affected Product Version:
5.5.0-Alpha

OS, DB, other environment details and versions:

Steps to reproduce:
Create a service provider from a user and check audit logs.

Related Issues:
N/A

Getting a null pointer when in 'updateApplication' method when 'PermissionAndRoleConfig' is set to null.

Description:
Getting a null pointer when in 'updateApplication' method when 'PermissionAndRoleConfig' is set to null in the admin service request. [ 1 ]

References
[ 1 ]

Affected Product Version:
IS 5.2.0

Add local claim in ClaimMetadataManagementService accept empty attribute mapping

Description:
When adding a local claim through ClaimMetadataManagementService, it accepts the soap request without mapped attribute. This behavior cause errors when using claim mapping.

Suggested Labels:
claim-mgt,bug

Suggested Assignees:
@darshanasbg

Affected Product Version:
IS-5.4.0 GA

Steps to reproduce:
Add local claim through ClaimMetadataManagementService without mapped attributes.

Related Issues:
#1235

Outbound provisioning is triggered only by enabling JIT in IDP

Description:
Identity Server 5.3.0 was behaved as outbound provisioning is triggered only by enabling JIT in IDP. So in SP side we have a option to enable the JIT with outbound provisioning as in [1].

So why do we need to enable the JIT in IDP side as well ?
[1] https://docs.wso2.com/display/IS541/Configuring+Outbound+Provisioning+for+a+Service+Provider

Suggested Labels:
IS 5.5.0

Suggested Assignees:
thanujalk

Affected Product Version:
IS 5.5.0

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

jaas.conf file contains incorrect boolean value

Description:
In the jaas.conf, useKeyTab value is mentioned as tfalse. I think this can be either true or false. We can correct this as false.

https://github.com/wso2/carbon-identity-framework/blob/master/features/security-mgt/org.wso2.carbon.security.mgt.server.feature/src/main/resources/conf/jaas.conf

Suggested Labels:
Minor, Bug

Suggested Assignees:

Affected Product Version:
5.3.0

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Changing the owner of Oauth Application

Description:
Iโ€™m working on a REST API for APIM which allow the admin users to change the owner of a Application. This API will help in transferring the oAuth apps which are created by a user who has left the organization. I tried to set owner using updateApplication method in IdentityApplicationManagementService but the owner of the application didnโ€™t change in the DB and there was no errors as well.

We need this functionality since owner field is used in stats and JWT token generation in APIM and these has to be updated once the user name is updated.

Suggested Labels:
Severity/Major,Type/Bug

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Provide duplicate claim name in the error message of when duplicate claims exists

I noticed following log when login to IS. We can improve the error message, so that users will know which claim is duplicated exactly.

TID: [-1234] [] [2017-09-13 15:33:08,779] ERROR {org.apache.axis2.rpc.receivers.RPCInOnlyMessageReceiver} - Duplicate claim exist in the system. Please pick a different Claim Uri
org.wso2.carbon.claim.mgt.ClaimManagementException: Duplicate claim exist in the system. Please pick a different Claim Uri

Uppercase table identifiers are not working for PostgreSQL in DatabaseMetaData#getTables method

Description:
PostgreSQL is supported for LowerCaseIdentifiers. So following is not working when using with a PostgreSQL database.

DatabaseMetaData metaData = connection.getMetaData();
metaData.getTables(null, null, "IDN_ASSOCIATED_ID", new String[] { "TABLE" })

In PostgreSQL, we have to use as follows(Note the lowercase table identifier).

DatabaseMetaData metaData = connection.getMetaData();
metaData.getTables(null, null, "idn_associated_id", new String[] { "TABLE" })

But this will differ from database to database since some databases support for lowercase and some databases support for uppercase. So as a general solution, we need to first check how the database stores identifiers and then get the tables according to that. We can determine that using the following method calls.

meta.storesUpperCaseIdentifiers()
meta.storesLowerCaseIdentifiers()
meta.storesMixedCaseIdentifiers()

source : https://github.com/wso2/carbon-identity-framework/blob/master/components/user-mgt/org.wso2.carbon.identity.user.profile/src/main/java/org/wso2/carbon/identity/user/profile/mgt/internal/IdentityUserProfileServiceComponent.java#L126

Suggested Labels:
Bug

Affected Product Version:
v5.11.148

OS, DB, other environment details and versions:
jdk1.8
Postgresql database

Steps to reproduce:

  • Connect to a PostgreSQL database
  • Start the server

SELECT TOP expression without parenthesis is deprecated in SQL server

Description:
SELECT TOP expression without parenthesis is deprecated and not supported from MS SQL server 2005 onwards [1][2] Correct way to do this is by including the number within parenthesis.

Eg: DELETE TOP (%d) FROM IDN_AUTH_SESSION_STORE WHERE TIME_CREATED < ? AND TENANT_ID = ?

Need to modify SQL queries with TOP expressions to include parenthesis around the expression value.

[1] https://social.msdn.microsoft.com/Forums/sqlserver/en-US/a20c68c0-6c20-4be4-9059-295d1e639f55/why-is-the-select-top-expression-without-parentheses-not-recommended-post-sql-2000?forum=transactsql
[2] http://www.dotnetfunda.com/articles/show/59/difference-between-top-clause-in-sql-2000-and-sql-2005

Suggested Labels:
Bug,identity-framework

Suggested Assignees:

Affected Product Version:
IS 5.3.0 WUM updated pack

OS, DB, other environment details and versions:
MS SQL server

Steps to reproduce:
Set up WSO2 IS with MS SQL server
Configure session data clean up task as follows in identity.xml file

        <SessionDataCleanUp>
            <Enable>true</Enable>
            <CleanUpTimeout>2</CleanUpTimeout>
            <CleanUpPeriod>4</CleanUpPeriod>
        </SessionDataCleanUp>

Restart the server.
When the clean up task runs following error logged in the console.

TID: [-1] [] [2017-12-13 13:59:45,581] ERROR {org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore} - Error while removing session data from the database for nano time 1511960385327480568
com.microsoft.sqlserver.jdbc.SQLServerException: Incorrect syntax near '50000'.
at com.microsoft.sqlserver.jdbc.SQLServerException.makeFromDatabaseError(SQLServerException.java:258)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.getNextResult(SQLServerStatement.java:1535)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.doExecutePreparedStatement(SQLServerPreparedStatement.java:467)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement$PrepStmtExecCmd.doExecute(SQLServerPreparedStatement.java:409)
at com.microsoft.sqlserver.jdbc.TDSCommand.execute(IOBuffer.java:7151)
at com.microsoft.sqlserver.jdbc.SQLServerConnection.executeCommand(SQLServerConnection.java:2478)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeCommand(SQLServerStatement.java:219)
at com.microsoft.sqlserver.jdbc.SQLServerStatement.executeStatement(SQLServerStatement.java:199)
at com.microsoft.sqlserver.jdbc.SQLServerPreparedStatement.executeUpdate(SQLServerPreparedStatement.java:356)
at sun.reflect.GeneratedMethodAccessor136.invoke(Unknown Source)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114)
at com.sun.proxy.$Proxy22.executeUpdate(Unknown Source)
at org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore.removeExpiredRememberMeSessions(SessionDataStore.java:435)
at org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore.removeExpiredRememberMeSessions(SessionDataStore.java:387)
at org.wso2.carbon.identity.application.authentication.framework.store.SessionDataStore.removeExpiredSessionData(SessionDataStore.java:463)
at org.wso2.carbon.identity.application.authentication.framework.store.SessionCleanUpService$DatabaseCleanUpTask.run(SessionCleanUpService.java:71)
at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180)
at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at java.lang.Thread.run(Thread.java:748)
Related Issues:

Scim Schema Extention

So i am trying to extend Scim Schema but even though i have enabled extention
<Property name="user-schema-extension-enabled">true</Property>
When i call Scim Api it still returns using only the core schema

    "schemas": [
        "urn:scim:schemas:core:1.0"
    ],

Is this correct ? What do i need to do to actually get an extended response ?

Importing Service Provider Configuration from remote Github repository

Description:
In a scenario where there is a need to add or update service provider configurations, the addition or update of the configuration might be done in a lower environment(QA, Staging), in that case, the new iteration of the configuration needs to be moved manually into the subsequent higher environment.

This feature will automate that process of manually importing configurations by allowing the Identity Admin to configure an automatic process that will get exported service providers (with the help of wso2/product-is#3346) from a remote repository and deploy it in the system.

Suggested Labels:
Feature

Suggested Assignees:
kaveenr

getRolePermissions of UserAdmin service does not check for role existency

Description:
Calling getRolePermissions for non-existing role returns with all permissions with false value. Should validate the role existency within the same call and return an appropriate response.

Affected Product Version:
IS-5.3.0

Steps to reproduce:

  1. Call getRolePermissions of userAdmin service with non-existing role name
    Eg: -
    <soapenv:Envelope xmlns:soapenv="http://schemas.xmlsoap.org/soap/envelope/" xmlns:xsd="http://org.apache.axis2/xsd"> <soapenv:Header/> <soapenv:Body> <xsd:getRolePermissions> <!--Optional:--> <xsd:roleName>mockrole</xsd:roleName> </xsd:getRolePermissions> </soapenv:Body> </soapenv:Envelope>

Consent Purpose Validation fails when importing Service Provider XML with no consent configs

Description:
When using the XML import service provider feature on the management console, an XML without consent config throws a NullPointerException when validation consent configs as some XML files do not contain consent configs.

Suggested Labels:

Suggested Assignees:

Affected Product Version:

OS, DB, other environment details and versions:

  • Framework Version - 5.12.54-SNAPSHOT

Steps to reproduce:

Related Issues:

Defining Authentication steps using JS

Providing facility to change the authentication flow based on conditions in JavaScript. JavaScript can control the authentication step selection, changing user attributes

Able to create a local claim without mapped attribute

Description:
When adding a local claim there are some required fields, mapped attribute is one of them. But mapped attribute allow space as a valid input and allows to add a local claim.
But after got added there is no mapped attribute.
add_local_claim
after_added

It should be corrected as, not to allow the space when add mapped attribute.

Suggested Labels:
claim-mgt,bug

Affected Product Version:
5.3.0 GA

Steps to reproduce:
Go to claims->Add->Add Local Claim->.
Provide the required information and give space for mapped attribute.

Create index fails in mysql v5.6

Description:

Create index IDX_IDN_SCIM_GROUP_TI_RN_AN fails when running on MySQL v5.6 as the max key length exceds.

[2018-06-20 11:28:30,310] DEBUG {org.wso2.carbon.identity.core.persistence.IdentityDBInitializer} -  SQL :  CREATE INDEX IDX_IDN_SCIM_GROUP_TI_RN_AN ON IDN_SCIM_GROUP (TENANT_ID, ROLE_NAME, ATTR_NAME)
[2018-06-20 11:28:30,315] ERROR {org.wso2.carbon.identity.core.internal.IdentityCoreServiceComponent} -  Error occurred while populating identity configuration properties
org.wso2.carbon.identity.base.IdentityRuntimeException: java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
	at org.wso2.carbon.identity.base.IdentityRuntimeException.error(IdentityRuntimeException.java:71)
	at org.wso2.carbon.identity.core.persistence.IdentityDBInitializer.executeSQL(IdentityDBInitializer.java:351)
	at org.wso2.carbon.identity.core.persistence.IdentityDBInitializer.executeSQLScript(IdentityDBInitializer.java:264)
	at org.wso2.carbon.identity.core.persistence.IdentityDBInitializer.createIdentityDatabase(IdentityDBInitializer.java:141)
	at org.wso2.carbon.identity.core.persistence.JDBCPersistenceManager.initializeDatabase(JDBCPersistenceManager.java:112)
	at org.wso2.carbon.identity.core.internal.IdentityCoreServiceComponent.activate(IdentityCoreServiceComponent.java:133)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:235)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:451)
	at org.wso2.carbon.core.init.CarbonServerManager.initializeCarbon(CarbonServerManager.java:515)
	at org.wso2.carbon.core.init.CarbonServerManager.start(CarbonServerManager.java:220)
	at org.wso2.carbon.core.internal.CarbonCoreServiceComponent.activate(CarbonCoreServiceComponent.java:94)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.eclipse.equinox.internal.ds.model.ServiceComponent.activate(ServiceComponent.java:260)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.activate(ServiceComponentProp.java:146)
	at org.eclipse.equinox.internal.ds.model.ServiceComponentProp.build(ServiceComponentProp.java:345)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponent(InstanceProcess.java:620)
	at org.eclipse.equinox.internal.ds.InstanceProcess.buildComponents(InstanceProcess.java:197)
	at org.eclipse.equinox.internal.ds.Resolver.getEligible(Resolver.java:343)
	at org.eclipse.equinox.internal.ds.SCRManager.serviceChanged(SCRManager.java:222)
	at org.eclipse.osgi.internal.serviceregistry.FilteredServiceListener.serviceChanged(FilteredServiceListener.java:107)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.dispatchEvent(BundleContextImpl.java:861)
	at org.eclipse.osgi.framework.eventmgr.EventManager.dispatchEvent(EventManager.java:230)
	at org.eclipse.osgi.framework.eventmgr.ListenerQueue.dispatchEventSynchronous(ListenerQueue.java:148)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEventPrivileged(ServiceRegistry.java:819)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.publishServiceEvent(ServiceRegistry.java:771)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistrationImpl.register(ServiceRegistrationImpl.java:130)
	at org.eclipse.osgi.internal.serviceregistry.ServiceRegistry.registerService(ServiceRegistry.java:214)
	at org.eclipse.osgi.framework.internal.core.BundleContextImpl.registerService(BundleContextImpl.java:433)
	at org.eclipse.equinox.http.servlet.internal.Activator.registerHttpService(Activator.java:81)
	at org.eclipse.equinox.http.servlet.internal.Activator.addProxyServlet(Activator.java:60)
	at org.eclipse.equinox.http.servlet.internal.ProxyServlet.init(ProxyServlet.java:40)
	at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.init(DelegationServlet.java:38)
	at org.apache.catalina.core.StandardWrapper.initServlet(StandardWrapper.java:1230)
	at org.apache.catalina.core.StandardWrapper.loadServlet(StandardWrapper.java:1174)
	at org.apache.catalina.core.StandardWrapper.load(StandardWrapper.java:1066)
	at org.apache.catalina.core.StandardContext.loadOnStartup(StandardContext.java:5370)
	at org.apache.catalina.core.StandardContext.startInternal(StandardContext.java:5668)
	at org.apache.catalina.util.LifecycleBase.start(LifecycleBase.java:145)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1700)
	at org.apache.catalina.core.ContainerBase$StartChild.call(ContainerBase.java:1690)
	at java.util.concurrent.FutureTask.run(FutureTask.java:266)
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
	at java.lang.Thread.run(Thread.java:748)
Caused by: java.sql.SQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:536)
	at com.mysql.cj.jdbc.exceptions.SQLError.createSQLException(SQLError.java:513)
	at com.mysql.cj.jdbc.exceptions.SQLExceptionsMapping.translateException(SQLExceptionsMapping.java:115)
	at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1983)
	at com.mysql.cj.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:1936)
	at com.mysql.cj.jdbc.StatementImpl.executeInternal(StatementImpl.java:891)
	at com.mysql.cj.jdbc.StatementImpl.execute(StatementImpl.java:795)
	at sun.reflect.GeneratedMethodAccessor34.invoke(Unknown Source)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.apache.tomcat.jdbc.pool.StatementFacade$StatementProxy.invoke(StatementFacade.java:114)
	at com.sun.proxy.$Proxy18.execute(Unknown Source)
	at org.wso2.carbon.identity.core.persistence.IdentityDBInitializer.executeSQL(IdentityDBInitializer.java:318)
	... 64 more

Invalid data provided exception when confirming user with UserStoreBasedIdentityDataStore

Description:
WSO2 identity server 5.5.0 is throwing the Caused by: org.wso2.carbon.user.core.UserStoreException: Invalid data provided exception when we try to confirm the user registration via confirmUserSelfRegistration soap operation of the UserInformationRecoveryService admin service.

The complete exception thrown is
TID: [-1234] [] [2018-05-15 17:52:53,914] ERROR {org.wso2.carbon.identity.mgt.services.UserInformationRecoveryService} - Error while validating confirmation code for user : [email protected] org.wso2.carbon.identity.base.IdentityException: Error while persisting identity user data in to user store for user: [email protected] at org.wso2.carbon.identity.base.IdentityException.error(IdentityException.java:60) at org.wso2.carbon.identity.mgt.store.UserStoreBasedIdentityDataStore.setUserClaimsValuesInUserStore(UserStoreBasedIdentityDataStore.java:230) at org.wso2.carbon.identity.mgt.store.UserStoreBasedIdentityDataStore.store(UserStoreBasedIdentityDataStore.java:85) at org.wso2.carbon.identity.mgt.util.UserIdentityManagementUtil.unlockUserAccount(UserIdentityManagementUtil.java:276) at org.wso2.carbon.identity.mgt.services.UserInformationRecoveryService.confirmUserSelfRegistration(UserInformationRecoveryService.java:1298) at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:498) at org.apache.axis2.rpc.receivers.RPCUtil.invokeServiceClass(RPCUtil.java:212) at org.apache.axis2.rpc.receivers.RPCMessageReceiver.invokeBusinessLogic(RPCMessageReceiver.java:117) at org.apache.axis2.receivers.AbstractInOutMessageReceiver.invokeBusinessLogic(AbstractInOutMessageReceiver.java:40) at org.apache.axis2.receivers.AbstractMessageReceiver.receive(AbstractMessageReceiver.java:110) at org.apache.axis2.engine.AxisEngine.receive(AxisEngine.java:180) at org.apache.axis2.transport.http.HTTPTransportUtils.processHTTPPostRequest(HTTPTransportUtils.java:173) at org.apache.axis2.transport.http.AxisServlet.doPost(AxisServlet.java:147) at org.wso2.carbon.core.transports.CarbonServlet.doPost(CarbonServlet.java:232) at javax.servlet.http.HttpServlet.service(HttpServlet.java:650) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.eclipse.equinox.http.servlet.internal.ServletRegistration.service(ServletRegistration.java:61) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.processAlias(ProxyServlet.java:128) at org.eclipse.equinox.http.servlet.internal.ProxyServlet.service(ProxyServlet.java:68) at javax.servlet.http.HttpServlet.service(HttpServlet.java:731) at org.wso2.carbon.tomcat.ext.servlet.DelegationServlet.service(DelegationServlet.java:68) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.owasp.csrfguard.CsrfGuardFilter.doFilter(CsrfGuardFilter.java:72) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.wso2.carbon.tomcat.ext.filter.CharacterSetFilter.doFilter(CharacterSetFilter.java:65) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124) at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241) at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208) at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219) at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110) at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169) at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103) at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:80) at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:91) at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:60) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99) at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47) at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57) at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47) at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62) at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159) at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962) at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57) at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116) at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445) at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115) at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775) at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61) at java.lang.Thread.run(Thread.java:748) Caused by: org.wso2.carbon.user.core.UserStoreException: Error occurred while getting claim attribute for user : [email protected] at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.doSetUserClaimValues(JDBCUserStoreManager.java:2164) at com.wso2.carbon.custom.user.store.manager.CustomPrimaryUserStoreManager.doSetUserClaimValues(CustomPrimaryUserStoreManager.java:125) at org.wso2.carbon.identity.mgt.store.UserStoreBasedIdentityDataStore.setUserClaimsValuesInUserStore(UserStoreBasedIdentityDataStore.java:218) ... 64 more Caused by: org.wso2.carbon.user.core.UserStoreException: Invalid data provided at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.batchUpdateStringValuesToDatabase(JDBCUserStoreManager.java:3168) at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.updateProperties(JDBCUserStoreManager.java:3114) at org.wso2.carbon.user.core.jdbc.JDBCUserStoreManager.doSetUserClaimValues(JDBCUserStoreManager.java:2151) ... 66 more

Suggested Labels:

Suggested Assignees:

Affected Product Version:
IS 5.5.0

OS, DB, other environment details and versions:

Steps to reproduce:

  1. Configure IS for JDBC user store by changing
    master-datasource.xml
    user-mgt.xml

  2. Configure IS for Self sign up as in [2]. I have disable captcha verification and email sending.

  3. Change the Identity.Mgt.User.Data.Store to org.wso2.carbon.identity.mgt.store.UserStoreBasedIdentityDataStore instead of having the default org.wso2.carbon.identity.mgt.store.JDBCIdentityDataStore in identity-mgt.properties

  4. create a user invoking registerUser operation. You will get the confirmation code.

  5. use the above code for the request

<confirmUserSelfRegistration xmlns="http://services.mgt.identity.carbon.wso2.org">
<username>[email protected]</username>
<code>10102ad0-39d2-4ac6-996f-ea9af43d5a60</code>
</confirmUserSelfRegistration>

[2] https://docs.wso2.com/display/IS520/Self+Sign+Up+and+Account+Confirmation

Related Issues:

NPE being thrown for OpenID connect hybrid flow code id_token

Description:
When you try out OpenID connect hybrid flow with code, id_token it gives a null pointer exception. Following stack trace is printed.

java.lang.NullPointerException
at org.wso2.carbon.identity.oauth2.authz.handlers.util.ResponseTypeHandlerUtil.addUserAttributesToCache(ResponseTypeHandlerUtil.java:328)
at org.wso2.carbon.identity.oauth2.authz.handlers.util.ResponseTypeHandlerUtil.buildIdToken(ResponseTypeHandlerUtil.java:290)
at org.wso2.carbon.identity.oauth2.authz.handlers.util.ResponseTypeHandlerUtil.buildIDTokenResponseDTO(ResponseTypeHandlerUtil.java:268)
at org.wso2.carbon.identity.oauth2.authz.handlers.HybridResponseTypeHandler.issue(HybridResponseTypeHandler.java:67)
at org.wso2.carbon.identity.oauth2.authz.AuthorizationHandlerManager.handleAuthorization(AuthorizationHandlerManager.java:97)
at org.wso2.carbon.identity.oauth2.OAuth2Service.authorize(OAuth2Service.java:100)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorize(OAuth2AuthzEndpoint.java:1874)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.handleUserConsent(OAuth2AuthzEndpoint.java:802)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.handleResponseFromConsent(OAuth2AuthzEndpoint.java:354)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorize(OAuth2AuthzEndpoint.java:203)
at org.wso2.carbon.identity.oauth.endpoint.authz.OAuth2AuthzEndpoint.authorizePost(OAuth2AuthzEndpoint.java:231)
at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
at java.lang.reflect.Method.invoke(Method.java:498)
at org.apache.cxf.service.invoker.AbstractInvoker.performInvocation(AbstractInvoker.java:188)
at org.apache.cxf.service.invoker.AbstractInvoker.invoke(AbstractInvoker.java:104)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:204)
at org.apache.cxf.jaxrs.JAXRSInvoker.invoke(JAXRSInvoker.java:101)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor$1.run(ServiceInvokerInterceptor.java:58)
at org.apache.cxf.interceptor.ServiceInvokerInterceptor.handleMessage(ServiceInvokerInterceptor.java:94)
at org.apache.cxf.phase.PhaseInterceptorChain.doIntercept(PhaseInterceptorChain.java:272)
at org.apache.cxf.transport.ChainInitiationObserver.onMessage(ChainInitiationObserver.java:121)
at org.apache.cxf.transport.http.AbstractHTTPDestination.invoke(AbstractHTTPDestination.java:249)
at org.apache.cxf.transport.servlet.ServletController.invokeDestination(ServletController.java:248)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:222)
at org.apache.cxf.transport.servlet.ServletController.invoke(ServletController.java:153)
at org.apache.cxf.transport.servlet.CXFNonSpringServlet.invoke(CXFNonSpringServlet.java:171)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.handleRequest(AbstractHTTPServlet.java:289)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.doPost(AbstractHTTPServlet.java:209)
at javax.servlet.http.HttpServlet.service(HttpServlet.java:650)
at org.apache.cxf.transport.servlet.AbstractHTTPServlet.service(AbstractHTTPServlet.java:265)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:303)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.tomcat.websocket.server.WsFilter.doFilter(WsFilter.java:52)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.webapp.mgt.filter.AuthorizationHeaderFilter.doFilter(AuthorizationHeaderFilter.java:85)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.wso2.carbon.ui.filters.cache.ContentTypeBasedCachePreventionFilter.doFilter(ContentTypeBasedCachePreventionFilter.java:53)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.filters.HttpHeaderSecurityFilter.doFilter(HttpHeaderSecurityFilter.java:124)
at org.apache.catalina.core.ApplicationFilterChain.internalDoFilter(ApplicationFilterChain.java:241)
at org.apache.catalina.core.ApplicationFilterChain.doFilter(ApplicationFilterChain.java:208)
at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:219)
at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:110)
at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:169)
at org.apache.catalina.valves.ErrorReportValve.invoke(ErrorReportValve.java:103)
at org.wso2.carbon.identity.context.rewrite.valve.TenantContextRewriteValve.invoke(TenantContextRewriteValve.java:80)
at org.wso2.carbon.identity.authz.valve.AuthorizationValve.invoke(AuthorizationValve.java:91)
at org.wso2.carbon.identity.auth.valve.AuthenticationValve.invoke(AuthenticationValve.java:60)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.continueInvocation(CompositeValve.java:99)
at org.wso2.carbon.tomcat.ext.valves.CarbonTomcatValve$1.invoke(CarbonTomcatValve.java:47)
at org.wso2.carbon.webapp.mgt.TenantLazyLoaderValve.invoke(TenantLazyLoaderValve.java:57)
at org.wso2.carbon.tomcat.ext.valves.TomcatValveContainer.invokeValves(TomcatValveContainer.java:47)
at org.wso2.carbon.tomcat.ext.valves.CompositeValve.invoke(CompositeValve.java:62)
at org.wso2.carbon.tomcat.ext.valves.CarbonStuckThreadDetectionValve.invoke(CarbonStuckThreadDetectionValve.java:159)
at org.apache.catalina.valves.AccessLogValve.invoke(AccessLogValve.java:962)
at org.wso2.carbon.tomcat.ext.valves.CarbonContextCreatorValve.invoke(CarbonContextCreatorValve.java:57)
at org.apache.catalina.core.StandardEngineValve.invoke(StandardEngineValve.java:116)
at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:445)
at org.apache.coyote.http11.AbstractHttp11Processor.process(AbstractHttp11Processor.java:1115)
at org.apache.coyote.AbstractProtocol$AbstractConnectionHandler.process(AbstractProtocol.java:637)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.doRun(NioEndpoint.java:1775)
at org.apache.tomcat.util.net.NioEndpoint$SocketProcessor.run(NioEndpoint.java:1734)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
at org.apache.tomcat.util.threads.TaskThread$WrappingRunnable.run(TaskThread.java:61)
at java.lang.Thread.run(Thread.java:748)

Suggested Labels:

Suggested Assignees:

Affected Product Version:
IS-5.6.0-rc3
OS, DB, other environment details and versions:

Steps to reproduce:
Setup oauth2 playground app
Issue an authorization request as follows:
https://localhost:9443/oauth2/authorize?response_type=code id_token&client_id=&nonce=asd&redirect_uri=http://localhost:8080/playground2/oauth2client&scope=openid

Related Issues:

Remove the role names modification from the ProvisioningHandler level.

Description:
Right we have remove the domain of the roles within the ProvisioningHandler level and because of that it is not allowed to add internal or application roles from the ProvisioningHandler extensions.

Suggested Labels:
We have already validated this user store domain within user store operation level and we don't need to do that from ProvisioningHandler level

Suggested Assignees:
[email protected]

Affected Product Version:
5.3.0,5.4.0,5.4.1,5.5.0

Steps to reproduce:
Write an extended version of ProvisioningHandler and try to add an application role to the role list. Then it will throw an exception saying that role doesn't exist.

EI server fails to start when carbon identity framework version updated from 5.7 to 5.8.139

Description:
We've updated the carbon identity framework version from 5.7.29 to 5.8.139 in Product-EI latest build. But we observed the freshly built pack fails to start with an error stating org.h2.jdbc.JdbcSQLException: Table "IDN_CLAIM_DIALECT" not found; and org.h2.jdbc.JdbcSQLException: Table "IDP" not found; . The error log is attached.errorlog.txt. We've checked the database and noticed that identity tables were not created.
But when we tried to start the pack with -Dsetup tables get created and server starts fine.

Suggested Labels:
Carbon-Identity-Framwork

Suggested Assignees:

Affected Product Version:
EI 6.1.1

OS, DB, other environment details and versions:

Steps to reproduce:

Related Issues:

Configure value passed in LDAP when adding user to group

I have connected Wso2 with an external LDAP. So, i want to handle the LDAP groups. However in Wso2 doc it states to use :

  • groupOfNames as our objectClass and
  • member as our MembershipAttribute

However my current LDAP server is not like that. This means that i use

  • PosixGroup as my objectClass and
  • memberUid for my MembershipAttribute

This leads me to the point that , when i add a user to a group, then Wso2 goes and puts this value uid=b1,ou=users,dc=transip,dc=nl inside memberUid. This is not compatible with my set up. What i need is Wso2 to just put the user's uid in the memberUid field and then the entry will be compatible with the rest of my setup.

How can i configure Wso2 to pass the uid when adding a user to a group instead of passing dn (Distinguished Name).

Add facility to record user delete events.

Description:
Add the facility to record delete events of the user. Create a post delete listener to track the delete events and record them using custom recorder.

Following listener needs to be enable to run the Recorders. (In identity.xml)

        <EventListener type="org.wso2.carbon.user.core.listener.UserOperationEventListener"
                       name="org.wso2.carbon.user.mgt.listeners.UserDeletionEventListener"
                       orderId="98" enable="false"/>
         </EventListeners>

After that add the recorders as follow. You can add any number of recorders from different type. But only one will be picked for each single type.

Can give any number of properties for each recorder. If they are not used explicilty in the recorder logic, they will be printed as properties of the recorder.

DefaultUserDeleteEventRecorder is the inbuilt recorder. Which will print the user deletion events as a CSV file for the given path.

Carbon place holders can be used in the file paths.

    <!-- These recorders are used to write user delete information to specific sources. Default event recorder is CSV
     file recorder. This recorder is disabled by default. Enable it by setting enable="true". To run these recorders,
     EventListener "rg.wso2.carbon.user.mgt.listeners.UserDeletionEventListener" also should be enabled. Which is
     also disabled by default. -->
    <UserDeleteEventRecorders>
        <UserDeleteEventRecorder name="org.wso2.carbon.user.mgt.recorder.DefaultUserDeleteEventRecorder" enable="false">
            <Property name="path">${carbon.home}/repository/logs/delete-records.csv</Property>
        </UserDeleteEventRecorder>
    </UserDeleteEventRecorders>

Suggested Labels:
N/A

Suggested Assignees:
N/A

Affected Product Version:
5.5.0

OS, DB, other environment details and versions:

Steps to reproduce:
N/A

Related Issues:
N/A

Adaptive authentication validation issues

Description:

  • Script not loading when saving blank content
  • Add script space validation when UI steps < Script steps
  • Truncate category and template names
  • Add required function validations

Suggested Labels:
Bug, UX

Add facility to record tenant domain in delete event recorder

Description:
User delete event recorder is currently only printing tenant id.

Suggested Labels:
N/A

Suggested Assignees:
N/A

Affected Product Version:
5.5.0-alpha2

OS, DB, other environment details and versions:
N/A

Steps to reproduce:
N/A

Related Issues:
N/A

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.