Skip to content

AzureADB2C has error in emails mapping #1165

Open
@baradhili

Description

@baradhili

currently this is in Provider

protected function mapUserToObject(array $user)
    {
        return(new User())->setRaw($user)->map([
            'id' => $user['sub'],
            'nickname' => $user['name'],
            'name' => $user['name'],
            'email' => $user['emails'][0],
        ]);
    }

However Azure OpenID returns:

[ver] => 1.0
    [iss] => 
    [sub] => 
    [aud] => 
    [exp] => 
    [acr] => b2c_1a_dev_ob_shared_corpaad_basic_signin
    [iat] => 
    [auth_time] => 
    [socialIdpUserId] => 
    [given_name] => 
    [family_name] => 
    [email] => 
    [name] => 
    [authenticationSource] => 
    [idp] => 
    [nbf] => 

code should be

protected function mapUserToObject(array $user)
    {
        return(new User())->setRaw($user)->map([
            'id' => $user['sub'],
            'nickname' => $user['name'],
            'name' => $user['name'],
            'email' => $user['email'],
        ]);
    }

Though I suspect this might also be a MS barf and I wouldn't be surprised if they return different claims depending on the policy type etc.. might need to do some decisions before mapping

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions