質問: この度スマホアプリの開発に着手することになったのですが、決済やログインといった処理をスマホ側からすればよいのかサーバー側ですればよいのかわかりません。 webアプリやAPIの構築はしたことがあり、スマホからデータベースへのアクセスはAPIを介せばよいということは調べていてわかりました。 そこで、例えばOAuthでログイン・ユーザ登録処理を行う場合は 1. スマホから直接リクエストを送り成功したらデータベースに書き込むのか。 2. apiでwebアプリ側にリクエストを送りそこからたらい回し式にリクエストを送りデータベースに書き込んだ後スマホにレスポンスを返すのか。 図式すると 1. スマホ → oauth → DB書き込み → スマホ 2. スマホ → web → oauth → DB書き込み → スマホ という流れになるかと思います。 前者のような気がしてますが、ユーザー登録後にgoogleアカウントを紐づけて次回からgoogleでログインさせるとかの場合は後者っぽいですが紐づけするとそもそもデータベースで整合性を確認する必要はないのでしょうか このアプリはスマホがメインでwebは管理者サイトとして機能させるだけであとはAPIで情報のやり取りをするだけです。 また、環境はここでは関係ないと思いますがCakePHP/LaravelとSwiftUIとMySQLらへんを使う予定です。 初めての質問なので不足情報があればご指摘お願いします。
回答: > > そこで、例えばOAuthでログイン・ユーザ登録処理を行う場合は > > > 1.スマホから直接リクエストを送り成功したらデータベースに書き込むのか。 > > 2.apiでwebアプリ側にリクエストを送りそこからたらい回し式にリクエストを送りデータベースに書き込んだ後スマホにレスポンスを返すのか。 > > > 要件を満たせるのであれば、どちらでも構わないと思います。 > > 前者のような気がしてますが、ユーザー登録後にgoogleアカウントを紐づけて次回からgoogleでログインさせるとかの場合は後者っぽいですが紐づけするとそもそもデータベースで整合性を確認する必要はないのでしょうか > > > それも要件次第なので、アプリケーションがログイン時に紐づけを必要とするかどうかで判断されれば良いかと思います。