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:
- You start from your app, and click login
- You get redirected to the Google login screen, and provide your login/password/2FA/biometrics to Google (not to your application)
- If Google recognizes you, it redirects you back to your app
- 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.