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

Generic authentication to support additional providers such as Stoic and Plug #156

Open
peterpeterparker opened this issue Jun 6, 2024 · 1 comment

Comments

@peterpeterparker
Copy link
Contributor

Request

Some developers would like to be able to use Stoic or Plug in their dApp for authentication purposes.

Notes

This feature request concerns a "login flow" and not a "wallet signature flow."

Links

Technical notes

  • The Stoic Identity library seems to be unmaintained for a few years and lacks best practices.
  • Plug Wallet is somewhat of a black box as it is unclear where its source code is and if it is even open source.
  • While requesting a connection with these libraries seems straightforward, it is unclear if they expose the generated identity and, more importantly, if it is possible to initialize actors using it without using the actor interfaces they expose.
  • Both libraries require access to the window object, and it is unclear if the libraries offer up-to-date TypeScript support.

Conclusion

While it seems feasible to implement a login flow with these methods, it is still unclear if there is significant demand within the IC ecosystem for such flows. On the forum, only one project communicated that they implemented such flows, and on Discord, two developers shared their interest in such a feature.

Given the above technical notes, it is clear that in the current state, these libraries cannot be incorporated into the core of Juno's libraries. However, the core can be reworked to expose interfaces and patterns that could be used by consumers, allowing developers to provide their own authentication providers. We can share some snippets to ease the integration, adopting a "bring your own authentication" approach.

While this seems straightforward on paper, in addition to the feature itself, it likely requires a significant refactoring.

This was referenced Jun 6, 2024
@CodingFu
Copy link

CodingFu commented Jun 21, 2024

I would love to be able to login with plug wallet!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants