Replies: 6 comments 18 replies
-
is the current (mini app-like) auth out of the question? i feel like no-hassle auth was the greatest benefit of frames. i know we (app devs) don't have the strongest possible guarantee, but it's sufficient for many cases. (plus, if needed, we can fall back to SIWF.) |
Beta Was this translation helpful? Give feedback.
-
Can't we support both? The party to decide if they need a signature by the appkey or the user's wallet is the frame. My casual game is fine with an appkey-signed proof of identity, an airdrop-by-fid frame will probably want a signature from my wallet. Why not let the Frame request the type of authentication it needs? |
Beta Was this translation helpful? Give feedback.
-
I like this! Just curious any plan to re-use or integrate into existing @farcaster/auth-kit? Overall, if it works exactly as existing SIWF, very less work to do, till there is clearer path for more granular auth permission control on farcaster. |
Beta Was this translation helpful? Give feedback.
-
With the proposed Also curious if Ideally we'd love to either:
Or at minimum:
This would give us both the security of SIWF and seamless UX after first login, while still keeping auth consistent between frame and web contexts |
Beta Was this translation helpful? Give feedback.
-
How does it relate to Farcaster Connect? Using SIWF in current version feels too painful |
Beta Was this translation helpful? Give feedback.
-
I don't fully understand the purpose of this change... it seems like it narrows the methods by which the frame server can ascertain FID in order to create a standardized path through SIWF But the slickness and "just works" quality of signing with the App Key is too good to lose I'd suggest allowing for both paths (verified context and auth). And accept the trade-off of having to explain or let devs navigate both paths. But at this stage of frames adoption (ie. low), more power is desirable over cleaner docs and paved roads for how to do things |
Beta Was this translation helpful? Give feedback.
-
In the original frames design a FrameMessage was signed over by a user's App Key. This was a lightweight way to give frames a reasonable expectation of who they were interacting with while providing a great UX for the user since the user didn't need to take any additional action.
The downside to this approach is that App Keys weren't intended to be authorization tokens:
Proposal
In Frames v2 SIWF should be the primary mechanism to authenticate users. This simplifies the mental model for users and developers alike and provides much stronger guarantees against abuse since the keys are self-custodial.
We can add an action API
signIn({ nonce })
that initiates the SIWF flow from within the frame and returns a SIWF token if completed. Since this flow is controlled by the hosting client we avoid some of the security and routing issues that we have in the standalone SIWF flow:The biggest drawback with this approach is that the user experience won't always be seamless: for example, a Warpcast web user or Super user who has their custody address hosted by Warpcast mobile will need to go to their mobile device to complete the request. This is a general limitation of SIWF that should independently be addressed but is outside the scope of this current proposal.
Frames can use the SIWF credential to bootstrap their own cookie based authentication session so that a session can be maintained for the user across frame interactions.
Beta Was this translation helpful? Give feedback.
All reactions