1

現在、2つのKohana3.2アプリケーションを実行しています。

  1. Webサーバー
  2. Rest APIサーバー(Web認証とすべてのデータベースモデルを処理します)

認証にはパスワードgranttype/2-leggedoauth2を使用しています。誰かがWebサーバーでログインを実行すると、WebサーバーでAuth :: instanceが設定された応答に基づいて、API認証要求がAPIサーバーに送信されます。この時点まではすべて正常に機能します。

APIサーバーには自動Crudコントローラーがありますが、これをWebサーバーにログインした後の「admin」アカウントでのみ使用できるようにしたいと思います。WebサーバーからAPIサーバーに認証を渡す方法を見つけようとしてAuth::instance()->logged_in()います。これにより、Crudコントローラーは、Webサーバーにログインしている場合にのみ使用できます。

これを達成する方法についての創造的なアドバイスはありますか?主な課題は、APIサーバーがouath2とauth(ORMドライバー)を実行しているのに対し、Webサーバーは成功したコンシューマーAPIログインに基づいてカスタムAuthドライバーを実行していることです。

フローは次のとおりです。

  • ユーザーがWebサーバーにアクセスする
  • ユーザーがログインします
  • Webサーバーがoath2認証要求をAPIサーバーに送信します
  • APIサーバーアクセスクライアントデータベースはリクエストを検証し、access_tokenを返します
  • Auth::instance()->logged_in()access_tokenが存在するかどうかをWebサーバーが設定します
  • CRUDリンクは管理者の役割に基づいて表示されます
  • CRUDリンクはAPIサーバー上のコントローラーです
  • [ここでユーザーが認証されたことを検証する必要があります]
  • CRUDコントローラーが表示されます(HMVCに含まれているコントローラーではなく、クロスURLリンク)

どんな助けでも大歓迎です。

4

0 に答える 0