私は足場サイトで遊んでいます。OpenIDまたはGoogleアカウントで初めてログインした後、ユーザーを登録ページに送りたいと思っています。
私はこれを思いついた:
getAuthId creds = runDB $ do
x ← getBy $ UniqueUser $ credsIdent creds
case x of
Just (Entity uid _) → return $ Just uid
Nothing → do
return $ Just $ Key (PersistInt64 0)
そしてHomeR
ハンドラーでUserId値をチェックし、ゼロの場合は登録フォームを表示します。
このアプローチは機能しますが、ハックのようです。そのような問題に対処するための適切な方法は何ですか?