From ece9fe15a18d7aa3db20f0b2314e4cdd0e47a924 Mon Sep 17 00:00:00 2001 From: Eduard Keilholz Date: Mon, 2 Sep 2024 17:07:04 +0200 Subject: [PATCH] Update packages --- README.md | 18 +++++++++++++++++- src/Wam.Users.Api/Wam.Users.Api.csproj | 16 ++++++++-------- src/Wam.Users/Wam.Users.csproj | 4 ++-- 3 files changed, 27 insertions(+), 11 deletions(-) diff --git a/README.md b/README.md index e1dd66d..ea36c94 100644 --- a/README.md +++ b/README.md @@ -1 +1,17 @@ -# whack-a-mole-users \ No newline at end of file +# 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. diff --git a/src/Wam.Users.Api/Wam.Users.Api.csproj b/src/Wam.Users.Api/Wam.Users.Api.csproj index 1165dfe..75143b0 100644 --- a/src/Wam.Users.Api/Wam.Users.Api.csproj +++ b/src/Wam.Users.Api/Wam.Users.Api.csproj @@ -12,14 +12,14 @@ - - - - - - - - + + + + + + + + diff --git a/src/Wam.Users/Wam.Users.csproj b/src/Wam.Users/Wam.Users.csproj index 837fba6..3034624 100644 --- a/src/Wam.Users/Wam.Users.csproj +++ b/src/Wam.Users/Wam.Users.csproj @@ -7,10 +7,10 @@ - + - +