Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

auth endpoint #6

Open
HannesRakete opened this issue Aug 20, 2017 · 0 comments
Open

auth endpoint #6

HannesRakete opened this issue Aug 20, 2017 · 0 comments

Comments

@HannesRakete
Copy link
Contributor

To provide interaction and authentication with the widely used sportsmanager, user auth against sportsmanager-api has to be established.

acceptance criteria

  1. The user can login with his sportsmanager-credentials for the given national foosball association
  2. The user can choose to stay logged in even after closing the application
  3. The user can access the teams, he is able to edit in the sportsmanager

refinement

@arnef already developed a REST-api for the sportsmanager and deployed it at the TFVHH (national foosball association Hamburg) instance. Documentation can be found here: (https://arnef.hopto.org/kickernhh/#auth-token-post)

For session-mgmt a distributed cache should be used: aws elasticache. If much simpler in a first approach a dynamodb-table could be an alternative

The requirements can be fulfilled with the following flow:

  1. User credentials are given our auth-endpoint: national foosball association, username, password
  2. foosbyte-api sends username and password to the sportsmanager-api of the corresponding national foosball association
  3. The received api-key is used to get a token via /user/auth/refresh. This token contains the team-ids for teams the user can edit.
  4. The foosball-api generates a session key and saves and saves all received data with the sesssion key in a distributed cache.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Projects
Development

No branches or pull requests

1 participant