現在SwiftでiPhoneアプリを開発しています。
アプリのログイン時にはFacebookログインを実装しています。
とあるサイトで下記のようなことが書いてありました。
facebookなど認証の機能をAPIで提供しているサービスを使い、iOSなどでログインを実装する場合、フローとしては以下のようになると思います。
1.facebookログインでAPIを叩く
2.クライアントがfacebookからaccess tokenを取得
3.facebookのaccess tokenをクライアントから自分のサーバーに投げる
4.サーバーでGraph APIを叩いてユーザー情報を取得、ユーザー作成。
5.サーバーが新たに自分のサービスのtokenを発行してクライアントに返す。
6.以降クライアントはそのtokenをヘッダに付加してリクエストを送る。
上記フローのうち、3→4のところでfacebook tokenさえ途中でインターセプトされると、だれでもGraph APIを叩いてユーザー情報を抜き取ってしまうことができてしまい、セキュリティホールになるのではと思うのですが、対策としてどんな方法が考えれるでしょうか。
(参考:facebookなどのaccess tokenを使ったログイン処理について)
アプリ側で取得したアクセストークンをサーバ側へ投げてもセキュリティ的に大丈夫でしょうか。サーバにはSSLを導入しています。
よろしくお願いします。
あなたの回答
tips
プレビュー