2017-10-04 9 views
0

Smoochでセッションを初期化する際に問題が発生しました。アカウントレベルのスコープを使用してJWTトークンを作成し、APIを使用してユーザー(mycatalyst_test)を作成しました。 APIを使用すると、ユーザーにアクセスしてクエリを実行したり、メッセージなどを正しく作成することができます。しかしWeb MessengerにユーザーIDをログインできません(無効なスコープ)

、私たちはキスのWebメッセンジャーを初期化して、ユーザーがログインしよう:私たちは、エラーが表示さ

Smooch.init({ 
appId: 'XXX', 
userId: 'mycatalyst_test', 
jwt: 'XXX', 
embedded: true 
}); 

{"error":{"code":"forbidden","description":"Invalid scope"}} 

私たちは、ドキュメントをチェックし、することはできませんしましたWeb Messengerのドキュメントで無効なスコープエラーまたは禁止されているコードへの参照を見つけることができます。また、同じJWTキーを使用してAPIを通じて情報に正常にアクセスできるため、何が問題になるか完全にはわかりません。

アカウントスコープではなく、Appスコープを使用して新しいJWTキーを生成しようとしましたが、これも機能しませんでした。ユーザーIDではなくスムージーIDを使用しようとしましたが、これも機能しませんでした。

ここでは少しゆるやかな終わりになっていますので、参考になるでしょう。 (私たちはおそらく何かばかげて明らかです!)。

答えて

0

authenticating usersのドキュメントを参照してください。 login APIにJWTを提供する場合は、appUserのスコープを使用する必要があります。そうしないと、アカウント/アプリ全体にアクセスできるJWTがユーザーに配信されます。

jwt.sign({ 
    scope: 'appUser', 
    userId: userId 
}, 
SECRET, 
{ 
    header: { 
     alg: 'HS256', 
     typ: 'JWT', 
     kid: KEY_ID 
    } 
}); 

このノートは、REST APIドキュメントのauthorizationセクションでもあります:

An additional scope of appUser can also be used to authenticate users when using one of the Smooch native SDK integrations. For information on how and when to use this scope, see the guide for authenticating users.

関連する問題