私のセットアップは 3 つのコンポーネントで構成されています。
Auth0 では、ユーザーを追加して権限を管理します。
API のシェルとして機能するフロントエンド SPA Web ページ。
ServiceStackで作った私のAPI。
私が想像する認証フローは次のとおりです。
ユーザーは、クライアント アプリケーションで [Auth0 でログイン] をクリックします。
その後、ユーザーは Auth0 にリダイレクトされ、そこでログインして JWT を受け取ります。
この JWT はクライアントに保存され、API への各リクエストに追加されます。
私の API (ServiceStack) は、JWT が Auth0 から提供された証明書と一致することを確認して、JWT を検証します。
私の API (ServiceStack) は、Auth0 によって管理され、JWT に含まれているように、ユーザーが必要なアクセス許可を持っているかどうかを確認します。
理想的には、これは [Authorize] および [RequiredPermission] タグをサービスに追加して、どのサービスにアクセスするためにどのアクセス許可が必要かを構成するのと同じくらい簡単であるべきです。
私はさまざまな方法でこれを達成しようとしましたが、私のアプローチ全体に欠陥があると考え始めているため、問題を説明するコード スニペットを追加するのは困難です。何か根本的に誤解しているのでしょうか、それとも ServiceStack で設定できるはずなのでしょうか? http://jwt.io/を使用して、Auth0 から JWT を取得して正しいことを確認できます。問題は、この確認を ServiceStack に統合することだけです。