Hi Dhanuka,

On Thu, May 19, 2016 at 11:23 AM, Dhanuka Ranasinghe <[email protected]>
wrote:

> Hi All,
>
> Currently we can add user with user name with @ sign, say for example if
> the user name is "test@user" without enabling Email User, Carbon
> Management console allow to add this user. But when we are trying to do the
> same thing as user sign up with APIM manager it's getting failed with super
> tenant. We found the root cause is at [1] line. Reason is from following
> highlighted code line we are getting *tenantAwareUserName* as *test* by
> removing* @user* part. Also *tenantName* also getting as *user*, which
> are wrong, and due to that realm become *Null*.
>
> There are few things need to be consider here.
>
> 1.  Is it correct allowing to add username with *@* sign at Carbon
> Management Console without enable Email User?
>
Yes. This is a valid requirement.


> 2. Assume we have tenant domain called *wso2.com <http://wso2.com>*, then
> create user as *abc* with password *admin* in that domain space and again
>  we create user as *[email protected] <[email protected]>* from super tenant space
> with password as *admin.*
>
This behaviour needed to be avoided from the code by correctly manipulating
the tenant domain.

MultitenantUtils.getTenantAwareUsername() method is not a idempotent
operation. So you need to know how the format(whether is tenant aware
username or not) of the username its returning from user.getUserName() and
use MultitenantUtils.getTenantAwareUsername() only for username which have
the tenant domain appended.

Regards,


So when we try to login as* [email protected] <[email protected]>*, it login to 
*wso2.com
> <http://wso2.com>* tenant space. To login to super tenant user we need to
> login as *[email protected]@carbon.super*. Will this be OK?
>
> [1] *org.wso2.carbon.identity.user.registration.UserRegistrationService.*
> *addUser(UserDTO)*
> *String tenantAwareUserName =
> MultitenantUtils.getTenantAwareUsername(user.getUserName());*
> *String tenantName = MultitenantUtils.getTenantDomain(user.getUserName());*
> *realm = IdentityTenantUtil.getRealm(tenantName, null);*
>
>
> Cheers,
> Dhanuka
>
> *Dhanuka Ranasinghe*
>
> Associate TechLead
> WSO2 Inc. ; http://wso2.com
> lean . enterprise . middleware
>
> phone : +94 715381915
>



-- 
Regards,


*Darshana Gunawardana*Senior Software Engineer
WSO2 Inc.; http://wso2.com

*E-mail: [email protected] <[email protected]>*
*Mobile: +94718566859*Lean . Enterprise . Middleware
_______________________________________________
Dev mailing list
[email protected]
http://wso2.org/cgi-bin/mailman/listinfo/dev

Reply via email to