2016-10-07 11 views
2

JWTトークンを使用してストリームフィードにアクセスしようとしていますが、毎回404回戻ります。JWTを使用してストリームREST APIにアクセスする際のエラー

トークンヘッダ:

{ 
    "alg": "HS256" 
} 

トークンペイロード:

{ 
    "resource": "feed", 
    "action": "read" 
} 

トークンがjjwtライブラリを使用して生成し、アカウントのダッシュボードで提供秘密を使用して署名されました。私はまた、jwt.ioでそれを検証し、それが

GET: https://api.getstream.io/api/v1.0/feed/notification/666?api-key=... 
Authorization: Bearer eyJhbGciOiJIUzI1NiJ9.eyJyZXNvdXJjZSI6ImZlZWQiLCJhY3Rpb24iOiJyZWFkIn0.MUZHXQg0UD6jFpCZN5Mn1e7wwys_1qYuVtfBKtHL8QU 

応答

{ 
    "exception": "GetStreamAPI404", 
    "detail": "sorry you've hit a 404" 
} 

が、私はここで何かが欠けアム有効なトークン

のURLでしたか?問題が何であるか把握することはできません。

答えて

2

正しいアクセス権チェックを実行するには、トークンペイロードにfeed_idフィールドを含める必要があります。フィールドの値は、読み取ろうとしているフィードと同じで、${feed_group}:${feed_id}の形式でなければなりません。

例えば、あなたの質問(https://api.getstream.io/api/v1.0/feed/notification/666?api-key=)でリクエストのペイロードは次のようになります。

{ 
    "resource": "feed", 
    "action": "read", 
    "feed_id": "notification:666" 
} 

注:APIのURLは、末尾のスラッシュで終わらなければなりません(例えば/api/v1.0/feed/ ?通知/ 666/API_KEY = ...)

認証のHTTPヘッダ:はトークンのみJWTが含まれている必要があり

認証

ストリーム認証タイプは、値jwtで送信する必要があります。

+0

すばやくお返事ありがとうございます。私もfeed_idで試してみましたが、それもエラーを出していました。しかし、後ろに/それが機能しました。今、私はこのメッセージを受け取っています: "URL署名がないか無効です" –

+0

最後の更新を参照 –

+0

ありがとうございます、それは今働いています。 –

関連する問題