onflow / flip-fest

A backlog of all the available tasks to complete for Flow's FLIP Fest.
50 stars 39 forks source link

Dev Wallet Feature: Improve OpenID implementation #10

Open srinjoyc opened 2 years ago

srinjoyc commented 2 years ago

πŸ‘‹   If you are interested in working on this issue, please check out the Getting Started guide on HackerEarth!

Description/Problem

Dapps should be able to define and request user information from FCL compatible wallet providers so that they can associate the account address with identity fields. Currently, during authentication, the only field the FCL development wallet returns is the address of the authenticated account and hardcoded values for scopes provided. Within the development wallet, we need a way manage OpenID scopes per account and return them dynamically during authentication if requested by the FCL configuration.

If any user information is being shared, show the user a prompt on which details are being shared with what domain (similar to an OAuth flow) via the authentication UI.

Experience Required

Minimum Feature Set (Acceptance Criteria)

Manage OpenID fields on all accounts

Implement Dynamic OpenID Spec Authentication Responses

Extension (Optional) Feature Set

Support required OpenID fields. If a field in the configuration of service.OpenID.scopes is required (via the '!' operator), then do the following:

If the account exists during authentication:

If the account does not exist during authentication:

Milestone Requirements

  1. Create wireframes to illustrate how you plan on showing and managing OpenID scopes in the UI.
  2. Implement the management of OpenID fields on any account created in the dev wallet.
    1. An administrator should be able to modify any valid field to any value and have it saved to the account.
    2. A user should see which scopes are being shared with the dApp on authentication.
    3. The response from the wallet should contain values from the requested scopes (empty if not set).
  3. Optimize the UX of the wallet and its developer usability and/or implement the extension feature
    1. Add documentation on OpenID to the dev wallet
    2. Ensure scopes are optimized to be easy to manage and display during development

Software Requirements

Maintainability

Testing

Other Requirements

Documentation

Judging Criteria

Resources

10thfloor commented 2 years ago

Hello there. Mackenzie here. πŸ„πŸΌβ€β™‚οΈ I'm part of the Developer Experience team at Flow. Glad you're checking out this issue. I can help answer any questions you might have about what you see here, and if you decide to take this on, I'll be your primary point of contact for you or your team.

Please add your comments/questions here, or find me on the Flow Discord (mack)

Happy hacking! πŸš€

wfalcon0x commented 2 years ago

hi @10thfloor, we are interested to work on this issue. HackerEarth Team: Dev Wallet OIDC I hope it is not too late to join to FLIP Fest

10thfloor commented 2 years ago

@wfalcon0x It is not too late! Do you have any code, specification or a repository we could look at yet? If not, no worries, but an idea of your expected timeline would be helpful at this stage.

wfalcon0x commented 2 years ago

@10thfloor , not yet, just started to look into the code to understand what will need to be done. I missed your message yesterday. I would like to clarify some details and make sure we understand the requirements before I make an estimate on the timeline.

We understand that private info from the wallet providers will be requested via scopes. In regards to managing OpenID fields on all accounts, we could use the currently hardcoded values as default values as a start to populate the data at the account creation, just to have some data there for testing purposes. Is it something in line with what you are expecting?

In regards to showing the user a prompt on which details are being shared, we assume it is sufficient to expose on the UI the exact names of the scopes as they are referenced in the OpenID standard. As the dev wallet is a development tool, we assume it is not required to provide more user friendly description.

Please let me know, in what way do you prefer to share the wireframes with you?

kimcodeashian commented 2 years ago

Good day Dev Wallet OIDC (@wfalcon0x)

Thanks so much for all your hardwork & participation. In order to finalize winners & prepare for prize payout, we'll need the following actions from your end.

Please provide the following information byΒ Nov 17, 2021 (in this GH Issue is fine):

1. Team Information

πŸŽ–IMPORTANT: We will only proceed with prize payouts once all members have confirmed with πŸ‘ on the post.

2. Video Demo (optional)

We will be hosting Closing Ceremonies on November 23rd, 8AM PT where we'll having closing remarks from Dete & will be announcing the winners! I'll share the details here before Nov 17.

kimcodeashian commented 2 years ago

Hey folks,

We've received and reviewed over 82 submissions! What an amazing community on Flow! To commemorate all the hard work done, we have finalized winners and will be announcing them during our Closing Ceremony on Nov 23rd, 8AM PT. Be sure to join us - there may be some attendance prizes & a keynote from our CTO, Dete πŸ˜‰!

RSVP here so you don't miss out! See you then!