2017-03-15 19 views
0

私はクライアントからアクセストークンを取得してAPIを使用する権限を与えるために、jwtを使用して権限を与える方法についてセクション2を取り上げました。しかし、私はこれを動作させるように見えることはできません。私はを伴うポストマンから401のメッセージを取得し続ける:JwtBearerAuthenticationOptionsを使用しているときにWeb APIが許可されていません

{ 
    "Message": "Authorization has been denied for this request." 
} 

チュートリアルのリンク:http://bitoftech.net/2014/10/27/json-web-token-asp-net-web-api-2-jwt-owin-authorization-server/

チュートリアルの最初のセクションがありませんので、アクセストークンは、私はJavaで作成した認証サービスから来ます私には当てはまりません。

JWT

{ 
    "exp": 1489641048, 
    "user_name": "testuser", 
    "authorities": [ 
    "USER" 
    ], 
    "jti": "2dde11c3-2f06-496c-9b36-4dbf71cdc2e2", 
    "client_id": "webreport_service", 
    "scope": [ 
    "USER" 
    ] 
} 

ウェブAPIコードスニペット

public void ConfigureOAuth(IAppBuilder app) 
    { 

     var audience = "webreport_service"; 

     // Api controllers with an [Authorize] attribute will be validated with JWT 
     app.UseJwtBearerAuthentication(
      new JwtBearerAuthenticationOptions 
      { 
       AuthenticationMode = AuthenticationMode.Active, 
       AllowedAudiences = new[] { audience }, 
       IssuerSecurityTokenProviders = new IIssuerSecurityTokenProvider[] 
       { 

        new SymmetricKeyIssuerSecurityTokenProvider("Any", "abc123") 
       } 
      }); 

    } 

それはセクション2内のリンク上にあるものとは若干異なりますが、私はbase64ではないので、それがあります私の秘密を暗号化して、発行者を私の中に入れない。

ポストマン

GET /api/protected HTTP/1.1 
Host: localhost:54706 
Authenticate: Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJleHAiOjE0ODk2NDEyOTAsInVzZXJfbmFtZSI6InRlc3R1c2VyIiwiYXV0aG9yaXRpZXMiOlsiVVNFUiJdLCJqdGkiOiJlMDNkNWZmZC1hZWI4LTRkODctOGQ3My0zNjhjYjQ2ZDg2OWUiLCJjbGllbnRfaWQiOiJ3ZWJyZXBvcnRfc2VydmljZSIsInNjb3BlIjpbIlVTRVIiXX0.C4hivwA1VF-0GO0xCVUoDIheWQWlAcVWvAzChZTgrHY 
Cache-Control: no-cache 
Postman-Token: ff628109-d5f4-76e0-41c2-e0c7d377b93f 

任意の助けいただければ幸いです。

ありがとうございます!

答えて

0

私は次のことを確認してくださいと思う:

まず:

は、あなたの秘密のbase64コードを確認してください。 'abc123'は本当ですか? jwt.ioウェブサイトのトークンをあなたの秘密のコードでチェックしています。 が、無効な署名第二

は、あなたのペイロード値を確認してください。 jwtペイロードとは何ですか? /あなたの発行人が 'Any'を設定していることを確認してください。

あなたのjwtペイロードは何ですか? /あなたの聴衆が「webreport_service」のセットを検証する

それについて考えてみてください。

ベストセラー

関連する問題