Skip to content

Commit

Permalink
Update packages
Browse files Browse the repository at this point in the history
  • Loading branch information
Eduard Keilholz committed Sep 2, 2024
1 parent 009c93f commit ece9fe1
Show file tree
Hide file tree
Showing 3 changed files with 27 additions and 11 deletions.
18 changes: 17 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
@@ -1 +1,17 @@
# whack-a-mole-users
# Whack-A-Mole Users Service

This is the users service of the Whack-A-Mole Microservices game. This Users service us responsible for user registration. The game does not work with an identity provider or other trustworthy way of maintaining users, mainly because there is no need to do so. When a user enters the game, the game front-end will make a backend request to either verify an earlier created user ID, or receive a newly created user ID. This user ID is then stored locally and used from there one.

> Note that this way of working with users is not secure and can be easily tampered with. For the sake of this project it is not required to have a safe and secure way of identifying individuals. If you do want that, I advise to integrate with an identity provider.
## User registration

When a user ID was newly created, the user is asked to enter a name and email address. This is passed to the server and the server takes this information to be able to show a leader board.

## Banning and / or locking out users

This game is often demonstrated as a demo at conferences and meetups. It is important to understand that user names must comply with the Code of Conduct for that conference. If users come with a name that is not compliant with the conference Code of Conduct, a secured backend request can lock-out users and forbid them from joining the game.

## Storage

The users service takes advantags of Azure Table Storage to store user information. A redis cache cluster (distributed cache) allows for storing user information in the cache. Implementing the cache-aside pattern allows to first return data from cache, before consulting the underlying data store.
16 changes: 8 additions & 8 deletions src/Wam.Users.Api/Wam.Users.Api.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -12,14 +12,14 @@
<ItemGroup>
<PackageReference Include="HexMaster.RedisCache" Version="0.1.6" />
<PackageReference Include="Microsoft.ApplicationInsights.AspNetCore" Version="2.22.0" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.2" />
<PackageReference Include="Microsoft.Extensions.Azure" Version="1.7.2" />
<PackageReference Include="Microsoft.Extensions.Configuration.AzureAppConfiguration" Version="7.0.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="8.0.2" />
<PackageReference Include="Microsoft.Identity.Web" Version="2.17.0" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.19.6" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.5.0" />
<PackageReference Include="Wam.Core" Version="0.2.2" />
<PackageReference Include="Microsoft.AspNetCore.Mvc.NewtonsoftJson" Version="8.0.8" />
<PackageReference Include="Microsoft.Extensions.Azure" Version="1.7.5" />
<PackageReference Include="Microsoft.Extensions.Configuration.AzureAppConfiguration" Version="7.3.0" />
<PackageReference Include="Microsoft.Extensions.Diagnostics.HealthChecks" Version="8.0.8" />
<PackageReference Include="Microsoft.Identity.Web" Version="3.1.0" />
<PackageReference Include="Microsoft.VisualStudio.Azure.Containers.Tools.Targets" Version="1.21.0" />
<PackageReference Include="Swashbuckle.AspNetCore" Version="6.7.3" />
<PackageReference Include="Wam.Core" Version="0.2.3" />
</ItemGroup>

<ItemGroup>
Expand Down
4 changes: 2 additions & 2 deletions src/Wam.Users/Wam.Users.csproj
Original file line number Diff line number Diff line change
Expand Up @@ -7,10 +7,10 @@
</PropertyGroup>

<ItemGroup>
<PackageReference Include="Azure.Data.Tables" Version="12.8.3" />
<PackageReference Include="Azure.Data.Tables" Version="12.9.0" />
<PackageReference Include="HexMaster.DomainDrivenDesign" Version="2.0.5" />
<PackageReference Include="HexMaster.RedisCache" Version="0.1.6" />
<PackageReference Include="Wam.Core" Version="0.2.2" />
<PackageReference Include="Wam.Core" Version="0.2.3" />
</ItemGroup>

</Project>

0 comments on commit ece9fe1

Please # to comment.