2017-02-07 9 views
1

JWTには、サーバー上で検証されるユーザーのロールに関する情報が含まれることがあります。 scopeにあります。非ロールユーザーは、そのロールに保護されている特定のエンドポイントからのデータにアクセスできなくなります。クライアント側のJWTロールベースの認証

{ 
    "iss": "http://issuer.com", 
    "exp": 1300819380, 
    "scopes": ["customer", "supplier", "seller"], 
    "sub": "[email protected]" 
} 

したがって、データは安全です。しかし、私がダッシュボードを持っているとしましょう。ユーザーが表示しないようにする機能があります。

JWTがクライアント側で改ざんされる可能性があることを考慮すると、SPAでこのようなページをどのように確保するのですか?

答えて

1

上記のように、クライアント側のコードは改ざんされる可能性があるため、ユーザーのアクセスを制限するロジックの安全な場所ではありません。

ダッシュボードの機能が実際にAPIによって提供される機能(たとえば、GETリクエストによって取得されたデータの表示、POST、PUT、DELETEリクエストによるデータの操作など)であると仮定すると、代わりにAPIエンドポイントを保護できます。したがって、悪意のあるユーザーがクライアント側のコードを改ざんしても、保護されたデータを取得または変更することはありません。

しかし、SPAでページを保護する方法に関する具体的な質問には、そのような方法はありません。たとえコードが難読化されていても、洗練されたユーザーが任意に解剖して変更することができます。

+0

問題ありがとうございます。実際に言及したダッシュボードの機能は、シングルページアプリ内に読み込まれ、APIデータとは独立しています。私はこれらの機能も保護したいと考えています。洗練された攻撃者は、クライアント側の対策をバイパスすることができますが、他の99%に対して保護する設定を探しています。 – softcode

関連する問題