Login to a SOLID Pod from a Flutter app

Hi @Anushka ! As @jeffz mentioned, authentication in Solid is based on an extension to the OpenID Connect protocol, named Solid-OIDC. OpenID Connect itself is based on OAuth 2.0, which defines a general flow for authentication. Typically, think about how “Log in with Google” works:

  1. You start from your app, and click login
  2. You get redirected to the Google login screen, and provide your login/password/2FA/biometrics to Google (not to your application)
  3. If Google recognizes you, it redirects you back to your app
  4. You are now logged in your app.

Now, replace “Google” by “Solid Identity Provider” in this example, and you have a general idea of how authentication works in Solid. That’s the flow implemented by @inrupt/solid-client-authn-* client libraries, as well as all the libraries @Vincent listed. I’m not aware of existing Flutter clients, but I expect there are Flutter clients for OAuth/OIDC, which would only need little tweaks to be compliant with Solid-OIDC.