私は、バックエンドの残りのAPIとPythonのdjangoの残りのフレームワークを使用して構築された通信ネイティブフロントエンドアプリケーションを開発しています。ネイティブのアプリの残りの社会的なログインの流れ
残りのフレームワークでは、すべてのユーザが認可トークンを持ち、トークンを残りのapiへのすべてのHTTPリクエストのヘッダーに「Authorization:Token」の形式で添付する必要があるdjango rest frameworkトークン認証を使用します。
私のアプリケーションでは、主に2つの方法でログインできます。最初のものは、ユーザー名とパスワードのアカウントを登録することです。これにより、django Userモデルオブジェクトが作成され、トークンが生成されます。このログイン方法はうまくいきます。
2番目のログイン方法は、ユーザーのソーシャルアカウントでログインすることです。私のアイデアは、ユーザーがFacebookのアカウントでログインするたびに、アプリケーションが自分のWebサイトにリダイレクトされ、ユーザーが選択したソーシャルメディアにリダイレクトされます。ソーシャルメディアの承認後、APIは自分のウェブサイトにリダイレクトされ、ユーザーとトークンが作成されます。
myappに:その後、私のウェブサイトは次のようにURIに取り付けたトークンを持つカスタムURIを使用して戻って私のネイティブアプリにリダイレクトされます。//#トークン= xhskscjndjnccjdsdc
ネイティブアプリを認証しますその後、 uriを解析してトークンを取得します。
私が心配している部分はセキュリティです。この方法は機能しますが、URIにトークンを付けることは私には少し不安です。私が従うことができるベストプラクティスはありますか?ありがとう!