私はDjangoのプロジェクトを持っています。今、私はいくつかのAPIをGoに移行する必要があります。Django + Go API
ユーザーがDjangoで認証され、要求によってGo APIでユーザーIDを取得すると、どのように条件を実装できますか?
Djangoの既存のrequest.user.is_authenticated()
と同様です。
私はDjangoのプロジェクトを持っています。今、私はいくつかのAPIをGoに移行する必要があります。Django + Go API
ユーザーがDjangoで認証され、要求によってGo APIでユーザーIDを取得すると、どのように条件を実装できますか?
Djangoの既存のrequest.user.is_authenticated()
と同様です。
私はDjangoの既存のrequest.user.is_authenticated()
がセッションまたはCookie情報に依存して、そのユーザが認証されているかどうかを判断していると仮定します。それが実際にクッキー内にある場合は、Goに同様のヘルパーを実装するだけです。クッキーが正しい場合は、true
を返し、そうでない場合はfalse
を返します。
しかし、ほとんどの場合、Cookieにはセッション識別子のみが含まれていますが、セッションオブジェクトにはユーザー状態に関する情報が含まれている可能性があります。セッションオブジェクトはDjangoによって管理されているため、Goアプリやその他のアプリでは利用できません。
あなたのAPIを(Goやその他のものに実装されているかどうかに関係なく)保護する正しい方法は、APIのエンドポイントにトークンベースの認証を実装することです。役割ベースのアクセスが必要かどうかに応じて、アプリケーションごとまたはユーザーごとにトークンを要求/生成し、APIにアクセスするためにトークンを使用できます。
Goはプログラミング言語であり、Webフレームワークではありません。認証されたユーザーや要求の概念はありません。 Goで同等のフレームワークを使用する必要があります。 –
あなたは理解できませんでした。 Djangoには、ユーザーが認証されているかどうかを確認する方法があります。このセッションデータ/クッキーの方法をGo APIと統合したいと思います。 – henriquechehad