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

Profile Service #33

Open
ankushdharkar opened this issue Dec 5, 2021 · 0 comments
Open

Profile Service #33

ankushdharkar opened this issue Dec 5, 2021 · 0 comments
Assignees
Labels

Comments

@ankushdharkar
Copy link
Contributor

ankushdharkar commented Dec 5, 2021

Requirements

New User

Every developer user of our squad will have to develop, deploy, maintain and enhance a hosted service that provides useful profile data for the user to be used on realdevsquad.com, especially the members page.

Glossary:
RS: RealDevSquad Service
US: User Service

  • RS will call the US /health endpoint to check if the service is available. It will record and display the ratio of 200 OK vs errors to demonstrate the reliability of the service.
  • User can get their chaincode from the my-site. They will have to also add the domain name or public hostname where US is hosted.
  • US POST /verification with { salt: <token> } should return {hash: bcrypt(chaincode, salt)}. RS will verify this hash and if it matches, then the chaincode is verified and linked. If the returned hash fails, then the chaincode is blocklisted. A new chaincode has to be generated by the user(after paying cryptos #P2).
  • If the chaincode is linked, then the RS can call US /profile to get profile data firstName, lastName, yearsOfExperience, companyName, linkedInID, twitterID, instagramID, phoneNumber, email, personalWebsite. Refer to this for profile data structure: [RFC] Profile Data Structure identity-service#49
  • If RS detects change in profile data for the user, it notifies the moderators on the dashboard site. The user is still expected to upload a profile picture from my site.

Member

Click to expand! (These are optional for new users)

In order to become a member, there are additional requirements:

  • /profile requires an OTP that is generated earlier by the US earlier and the chaincode hash salt as OTP.
  • RS retrieves an OTP from US /otp by similar steps as done in verification of chaincode step.
  • OTP rules:
    • OTP is valid for 7 days only
    • If an incorrect OTP is provided for the chaincode 5 times consecutively, then US blocks the chaincode. The user has to generate a new one and get it verified again.
    • If more than 3 OTPs are requested in 1 hour, the chaincode is blocked by US.
    • New OTP should only be generated once every 15 min.
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants