Skip to content
Snippets Groups Projects
Commit dace8676 authored by Marcel Nellesen's avatar Marcel Nellesen
Browse files

Merge branch 'Hotfix/763-fixNullEmails' into 'master'

Fix: Login now works again

See merge request coscine/api/sts!41
parents c5f8e877 8b2e1b38
No related branches found
No related tags found
1 merge request!41Fix: Login now works again
......@@ -85,6 +85,7 @@ namespace Coscine.Api.STS.Controllers
var coscineUser = new CoscineUser()
{
UserName = user.Id.ToString(),
Email = user.EmailAddress ?? ""
};
var result = await _signInManager.UserManager.CreateAsync(coscineUser);
......
......@@ -66,7 +66,7 @@ namespace Coscine.Api.STS.Controllers
var coscineUser = new CoscineUser()
{
UserName = user.Id.ToString(),
Email = user.EmailAddress
Email = user.EmailAddress ?? ""
};
var result = await _signInManager.UserManager.CreateAsync(coscineUser);
......
using Coscine.Database.Models;
using System;
using System.Collections.Generic;
using System.Configuration;
using System.DirectoryServices;
using System.IdentityModel;
......@@ -77,15 +78,19 @@ namespace Coscine.Api.STS.Security
AddToAD(user);
var claims = new[]
var claims = new List<Claim>()
{
new Claim(System.IdentityModel.Claims.ClaimTypes.Name, user.DisplayName),
new Claim(System.IdentityModel.Claims.ClaimTypes.Surname, user.DisplayName.Contains(" ") ? user.DisplayName.Split(' ')[0] : user.DisplayName),
new Claim(System.IdentityModel.Claims.ClaimTypes.GivenName, user.DisplayName.Contains(" ") ? user.DisplayName.Split(' ')[1] : ""),
new Claim(System.IdentityModel.Claims.ClaimTypes.NameIdentifier, user.Id.ToString()),
new Claim(System.IdentityModel.Claims.ClaimTypes.Email, user.EmailAddress),
};
if (user.EmailAddress != null)
{
claims.Add(new Claim(System.IdentityModel.Claims.ClaimTypes.Email, user.EmailAddress));
}
var identity = new ClaimsIdentity(claims);
return identity;
......@@ -128,7 +133,7 @@ namespace Coscine.Api.STS.Security
newUser.Properties["sn"].Value = user.Surname;
}
newUser.Properties["displayName"].Value = user.DisplayName;
newUser.Properties["mail"].Value = user.EmailAddress;
newUser.Properties["mail"].Value = user.EmailAddress ?? "";
newUser.Properties["uid"].Value = user.Id.ToString();
newUser.Properties["userPrincipalName"].Value = user.Id.ToString() + "@" + Program.Configuration.GetStringAndWait("coscine/local/profilesync/forestname");
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment