問題タブ [worklight-security]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票する
1 に答える
2227 参照

ibm-mobilefirst - WorkLight アダプター応答ヘッダーへの Cookie の添付

WorkLight 5.0.6 を使用してモバイル アプリを開発しており、アダプターから返される応答に安全な Cookie を添付したいと考えています。

クラスター化された実稼働環境で特定の WL サーバーにセッションを「バインド」したくないため、WorkLight 認証レルムを使用していません。バックエンド システムに対してユーザーの詳細を認証するサインオン アダプターを呼び出して、セッションを認証します。サインオン アダプター呼び出しからの応答の一部として、認証された情報を含む安全な Cookie (http のみ) を作成し、それをサインオン アダプターから返される応答に添付したいと考えています。Cookie は、サーバーへのアプリケーション呼び出しから作成された後続のアダプターのヘッダーにも含まれている必要があります。

よろしく、

0 投票する
1 に答える
1396 参照

ibm-mobilefirst - IBM Worklight 6.0 - Worklight Server にアダプターをデプロイした後の wl_antiXSRFRealm エラー

現在、Worklight v6.0 Enterprise Edition を使用してプッシュ通知のデモに取り組んでいます。

デモの一環として、Worklight studio で新しい Worklight プロジェクトを作成しました。

  • プッシュ通知のサンプル プロジェクトも同じワークスペースにインポートしました
  • 提供された authenticationConfig.xml ファイルをプッシュ通知サンプル プロジェクトから新しいプロジェクトにコピーしました (ファイルを置き換えます)。
  • また、新しいプロジェクトの application-descriptor.xml を変更して、authenticationConfig.xml ファイルの securityTest を参照するようにしました。

テスト サーバー (Eclipse 開発環境の一部) で PushNotifications アダプターをテストすると、アダプターは正しく動作します。ブラウザ呼び出しでサーバーをテストしますhttp://hostName:10080/ProjectName/invoke?adapter=PushAdapter&procedure=submitNotification&parameters=["user","testdata"]

しかし、新しいアプリとアダプターを QA Worklight サーバーにデプロイすると、アダプターに問題が生じます。新しいサーバーを指すブラウザーからアダプターに再度アクセスすると、次のエラーが表示されます。

/*-secure- {"challenges":{"wl_antiXSRFRealm":{"WL-Instance-Id":"i9k34qhnj7r25s8ab7v2m0sf3l"}}}*/

デバイスで実行されているアプリはサーバーに接続できます。アダプター エンドポイントを使用して、外部サーバーにデモの通知を書き込んでもらいたいと考えています。

0 投票する
1 に答える
1033 参照

ibm-mobilefirst - IBM Worklight 6.0 - クライアントがログアウト/ログインすると、基本認証を使用するアダプターが認証ヘッダーを更新しない

アダプター・ベースの認証を使用する Worklight v6.0 アプリケーションがあります。

アダプターは、基本認証を使用してバックエンド REST サービスを呼び出す HTTP アダプターです。

アダプタとバックエンド サービスの間にセッションや Cookie はありません。アダプター記述子で、cookiePolicy を IGNORE_COOKIES に設定しました。アダプターからバックエンドへの各要求は、その要求の基本認証ヘッダーで認証されます。

アダプターの各プロシージャーでは、connectAs が endUser に設定されています。

これはすべてうまくいきます。モバイル アプリはアダプターで保護されたプロシージャを呼び出します。これにより認証がトリガーされ、認証が正常に完了し、プロシージャが再度呼び出されます。ネットワーク トレースで、アダプターからバックエンド。モバイル アプリが既に認証されているときにアダプター呼び出しを行う場合、アダプターは正しい Basic Auth ヘッダーを使用して back en を呼び出すだけです。複数のモバイル アプリが同時に接続され、異なるユーザーとしてログインしている場合、アダプターはそれを呼び出したユーザーの正しい Basic Auth ヘッダーを使用します。

唯一機能しないのは、モバイル アプリがアダプターを呼び出し、user1 として認証し、バックエンドから user1 の正しい結果を取得し、WL.Client.logout() を呼び出し、アダプターを別の呼び出しを行い、認証する場合です。今回はユーザー2として。

アダプタ プロシージャでは、WL.Server.getActiveUser() を呼び出してアクティブなユーザーを確認します。確かに、ユーザーは正しい (user2) です。しかし、呼び出しがバックエンドに送信されると、Worklight が追加する Basic Auth ヘッダーに user1 の資格情報が含まれるため、モバイル アプリは間違った結果を取得します。

アプリを終了して再起動すると、すべて問題なく、ユーザー 2 として直接認証し、user2 の正しい結果を得ることができます。問題となる唯一のケースは、モバイル・アプリと Worklight Server の間の単一セッションで別のユーザーとしてログアウト/ログインし直す場合です。

これは、Worklight アダプターでの基本認証の使用に関する既知の制限ですか? ログアウト時にモバイル・クライアントと Worklight Server の間の接続を強制的にリセットする方法はありますか? (アプリを再起動するまで)

0 投票する
1 に答える
325 参照

websphere - IBM Worklight 5.0.6 - worklight.properties の暗号化

インフォメーション・センターの手順に従って、機密情報を worklight.properties に暗号化しようとしています。

このステップでは、

*暗号化された値はすべて、worklight_enc_password という特別な変数に格納されている同じ秘密鍵を使用します。この変数は、オペレーティング システムの環境変数として定義されています。

Windows システムの場合: IBM Worklight Server を実行しているユーザーの下で環境変数を設定します。Windows NT サービスで実行している場合は、レジストリ エディタを使用してパスワードをサービス プロパティとして定義します。詳細については、Microsoft のサポート Web サイトを参照してください。*

HKKEY_CURRENT_USER/Environment の下の登録エディターに worklight_enc_password を追加して、アプリケーションをデプロイしようとしました。ただし、SystemOut.log では、「java.lang.RuntimeException: プロパティ xxx.enc の値を解読できません。暗号化パスワードは、環境変数 xxx.enc で定義する必要があります」が返され続けました。

Windows XP でこの変数「worklight_enc_password」をどこに設定すればよいですか?

環境: Windows XP、Worklight 5.0.6、WAS ND 8.5

0 投票する
3 に答える
793 参照

ibm-mobilefirst - IBM Worklight 5.0.6 - ログインに 1 回ではなく 2 回のクリックが必要

アプリでフォームベースの認証とチャレンジ ハンドラー (サンプル コード) を使用しています。問題は、ログイン ボタンを 1 回クリックするだけではユーザーを認証できないことです。2 回クリックする必要があります。なんで?

すべてのアダプター機能を保護しました。

私のチャレンジハンドラー

authenticationConfig.xml

私の processLogin() 関数

ValidateUsersおよびListSummariesDetailsアダプター関数は、上記のmyAppSecurityTestCustomを使用して保護されます。

0 投票する
1 に答える
1023 参照

android - IBM Worklight 5.0.5 - ハイブリッド アプリケーションでアプリケーション認証性を有効にできない

Worklight のアプリケーション認証性機能を実装してテストしようとしてきましたが、機能させることができませんでした。このサイトのすべての投稿と WL インフォメーション センターの情報を確認しましたが、うまくいきませんでした。誰かが私を助けてくれることを期待して、私が行ったことと、私が見ている結果の詳細な説明を提供しています.

環境: Windows 7 Enterprise にインストールされた Worklight Studio 5.0.5 Consumer エディション Windows 7 Enterprise にインストールされた Worklight Server 5.0.5 Consumer エディション

WL サーバーは、Worklight Server インストールによって提供される Websphere Application Server Liberty プロファイル内で実行されています。

WL サーバーは、インストール パッケージによって提供される derby データベースを使用しています。

実装手順:

  1. authenticationConfig.xml にセキュリティ テストを追加 (コメント解除)

    /li>
  2. .war ファイルを再構築し、Worklight Server にデプロイしました。

  3. 「connectOnStartup : true」になるように initOptions.js を変更します。

  4. application-descriptor.xml を変更し、Android アプリケーションのセキュリティ テストを指定し、publicSigningKey を追加しました

  5. アプリケーションを再構築し、WL サーバーにデプロイしました。

  6. 署名済みの .apk ファイルを作成し、アプリケーション センターにアップロードします。

  7. アプリケーションを物理デバイス (Samsung Galaxy Tab 2、Android 4.1.1) にインストールします。

  8. アプリケーションを起動します。

WL コンソールまたは物理デバイスから「プレビュー」モードでアプリケーションを起動すると、同じエラーが表示されます。私が受け取っているエラーは次のとおりです。

{"errorCode":"UNEXPECTED_ERROR","errorMsg":"userIdentityForAPI が null です。アプリケーションの認証要件を確認してください (決して、onStartup、onDemand ではありません)。これらの設定は、デプロイされたアプリケーションと一致する必要があります"}

構成で見逃したものはありますか?

0 投票する
3 に答える
928 参照

ibm-mobilefirst - 一部の WL.Client Adapter Invocation トラフィックを別の URL を介して WL サーバーに再ルーティング/転送します (PCI 支払いおよびセキュリティ要件のため)?

ワークライト 5.0.6.1

アプリケーションとサーバーの PCI 監査を回避するためにIntel ( http://info.intel.com/rs/intel/images/Intel_Expressway_Tokenization_Broker.pdf )の PCI アプライアンスを使用することについて、クライアントから特定の要件があります。

したがって、支払いデータに関係するアダプター呼び出しは、ワークライト・サーバーに到達する前に、このハードウェア・アプライアンスを通過する必要があります。他のすべてのアダプター呼び出しは、ワークライト・サーバーに直接行く必要があります (アプライアンスが過負荷にならないようにするため)。2 つの異なる URL を持つが、バックグラウンドで同じワークライト サーバーを使用するという考え方です。アプライアンスを介した呼び出しはワークライト サーバーに対して透過的であると想定されるため、ワークライトの機能は影響を受けません。

これに関する私の質問は次のとおりです。

  • 同じワークライト・サーバーに 2 つの異なる URL を持ち、アダプター呼び出しのためにクライアントからこれらの URL を交互に使用するためのワークライトのベスト・プラクティス (これはネイティブで実行されると想定しているため、直接更新などではありません)?

  • クライアント・コード内の JavaScript コードを介してアダプター呼び出しに使用されるワークライト・サーバー URL を動的に上書きすることは可能ですか? たとえば、WL.Client AJAX アダプター呼び出しの前のどこかからワークライト URL を取得/返す特定の JS 関数を上書きしますか?

また、呼び出されている AdapterName の正規表現などに基づいて、ロードバランサーがルートを切り替えることも検討しています。しかし、それが可能かどうか、およびパフォーマンスへの影響がどのようなものかは、現時点ではわかりません。