The authentication system that you last saw in (TODO cross-ref-tba) is in need of some attention. You have been tasked with cleaning up the code. Such a cleanup project will not only make life easy for future maintainers but will expose and fix some security vulnerabilities.
This is a refactoring task. Add the const
modifier to any members of Authenticator
or Identity
that you think appropriate.
This is a refactoring task. Add the readonly
modifier to any fields of the Authenticator
class or the Identity
struct that you think appropriate.
Remove the set
accessor or make it private
for any appropriate property on the Authenticator
class or Identity
struct.
At present the admin identity field is returned by a call to Admin
. This is not ideal as the caller can modify the field. Find a way to prevent the caller modifying the details of admin on the Authenticator
object.
At present the dictionary containing the hard coded privileged developer identities is returned by a call to GetDevelopers()
. This is not ideal as the caller can modify the dictionary. Find a way to prevent the caller modifying the details of admin on the Authenticator
object.