Skip to content

Commit

Permalink
Register device data + fix SeedData
Browse files Browse the repository at this point in the history
  • Loading branch information
thabart committed Apr 9, 2024
1 parent 25ecfa5 commit 972c6b4
Show file tree
Hide file tree
Showing 3 changed files with 28 additions and 18 deletions.
Original file line number Diff line number Diff line change
Expand Up @@ -21,6 +21,7 @@
using SimpleIdServer.IdServer.UI;
using System.Security.Claims;
using System.Text;
using static MassTransit.ValidationResultExtensions;

namespace SimpleIdServer.IdServer.Fido.Apis
{
Expand Down Expand Up @@ -141,6 +142,23 @@ public async Task<IActionResult> End([FromRoute] string prefix, [FromBody] EndU2
}, cancellationToken: cancellationToken);

user.AddFidoCredential(sessionRecord.CredentialType, success.Result);
if (request.DeviceData != null)
{
user.Devices.Add(new UserDevice
{
CreateDateTime = DateTime.UtcNow,
DeviceType = request.DeviceData.DeviceType,
Id = Guid.NewGuid().ToString(),
Manufacturer = request.DeviceData.Manufacturer,
Model = request.DeviceData.Model,
Name = request.DeviceData.Name,
PushToken = request.DeviceData.PushToken,
PushType = request.DeviceData.PushType,
Version = request.DeviceData.Version
});
user.NotificationMode = request.DeviceData.PushType ?? "console";
}

sessionRecord.IsValidated = true;
await _distributedCache.SetStringAsync(request.SessionId, System.Text.Json.JsonSerializer.Serialize(sessionRecord), new DistributedCacheEntryOptions
{
Expand All @@ -164,23 +182,6 @@ User BuildUser()
if (_idServerHostOptions.IsEmailUsedDuringAuthentication) user.Email = login;
}

if (request.DeviceData != null)
{
result.Devices.Add(new UserDevice
{
CreateDateTime = DateTime.UtcNow,
DeviceType = request.DeviceData.DeviceType,
Id = Guid.NewGuid().ToString(),
Manufacturer = request.DeviceData.Manufacturer,
Model = request.DeviceData.Model,
Name = request.DeviceData.Name,
PushToken = request.DeviceData.PushToken,
PushType = request.DeviceData.PushType,
Version = request.DeviceData.Version
});
result.NotificationMode = request.DeviceData.PushType ?? "console";
}

return result;
}

Expand Down
9 changes: 8 additions & 1 deletion src/IdServer/SimpleIdServer.IdServer.Startup/Program.cs
Original file line number Diff line number Diff line change
Expand Up @@ -380,7 +380,14 @@ void SeedData(WebApplication application, string scimBaseUrl)
dbContext.CertificateAuthorities.AddRange(SimpleIdServer.IdServer.Startup.IdServerConfiguration.CertificateAuthorities);

if (!dbContext.PresentationDefinitions.Any())
dbContext.PresentationDefinitions.AddRange(SimpleIdServer.IdServer.Startup.IdServerConfiguration.PresentationDefinitions);
{
foreach(var processDefinition in SimpleIdServer.IdServer.Startup.IdServerConfiguration.PresentationDefinitions)
{
var realm = dbContext.Realms.Single(r => r.Name == processDefinition.Realm.Name);
processDefinition.Realm = realm;
dbContext.PresentationDefinitions.Add(processDefinition);
}
}

if (!dbContext.Acrs.Any())
{
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -64,6 +64,8 @@ public async Task<IActionResult> Search([FromRoute] string prefix, [FromBody] Se

if (!string.IsNullOrWhiteSpace(request.OrderBy))
query = query.OrderBy(request.OrderBy);
else
query = query.OrderBy(r => r.Name);
var nb = query.Count();
var apiResources = await query.Skip(request.Skip.Value).Take(request.Take.Value).ToListAsync();
return new OkObjectResult(new SearchResult<ApiResource>
Expand Down

0 comments on commit 972c6b4

Please sign in to comment.