Anypoint Studioで詰まったので、備忘として。
現象
Anypoint StudioからAnypoint Platformと接続しようとするときに認証ができないという現象が発生しました。具体的には
- 認証の画面が出ない
- 認証の画面は出るが、ユーザ情報を入れた後に固まってしまう
といういずれかの現象のため、Anypoint Studio上でAnypoint Platformに接続ができず、RAMLなどの取り込みができないという事象がWindows上で確認できています。
使用しているAnypoint Studioは7.11、OSはWindosw10でした。認証の画面が出ない件については、以下のように白っぽい画面のままアカウント入力ができない状態となります。
原因
多要素認証(MFA)サポートによる影響で、認証内部ブラウザに制限がかかっているみたいです。Windows10上のAnypointStudio7.7から7.10の内部ブラウザーの既知の制限です。
仕組みはよくわかっていませんが、Anypoint PlatformにMFA認証を導入している際に、Anypoint Studio経由でのログイン処理と噛み合わず、ブラウザの問題により認証が止まってしまっているようです。
対処法
以下の3つを実施することで解決しました。
Anypoint Studioのブラウザ設定をネイティブにする
[Preference]を選択。
[Anypoint Studio]→[Browser]からDefault Browserを「Built-in」から「Native」に選択します。
認証画面を最大化する
AnypointStudioから表示される、AnypointPlatform認証画面のウィンドウ表示が小さいため、解像度の低いディスプレイであれば画面に入力フォームが出ない可能性があります。
AnypointPlatformの認証画面のウィンドウを最大化して入力フォームが出るかどうか確認しましょう。
WebView2ランタイムの修正バージョンを適用
上記対応については、認証画面が出ない等の対応で、一番の要因はこのブラウザの制限によるエラーの可能性が高いです。
AnypointPlatformにMFA認証を取り入れている場合、Windowsの仕様上内部ブラウザの制限により、表示がブロックされる既知の問題があります。
上記対処方法として、WindowsのWebVies2 Runtimeの修正バージョンを適用する必要があります。
Microsoft Edge Developerにある、Microsoft Edge WebView2のFixed Versionからダウンロードします。Versionには最新バージョン、ArchitectureにはCPUに合わせて選択して、Downloadします。
「Microsoft.WebView2.FixedVersionRuntime.XX.X.XXXX.XX.xxx.cab」という名前のcadファイル形式でダウンロードされるので、ダウンロードしたcadファイルに対し、コマンドプロンプトから以下コマンドを実施し、解凍します。
Extrac32 /E {cadファイルのパス}
コマンドを実行すると、このような形でフォルダが作成されます。ちょっとパス名が長いので、デスクトップなどを解凍先にすると、解凍できない場合があるため、Cドライブ直下に作ったフォルダなど、根っこが短いところに解凍するのがベターです。
あとは解凍されたフォルダを任意の場所に配置し、AnypointStudio起動の際にこのWebVies2 Runtimeを適用させるよう、eclipse.iniに以下の2行を追記します。
-Dorg.eclipse.swt.browser.DefaultType=edge
-Dorg.eclipse.swt.browser.EdgeDir=解凍したフォルダのパス
例)AnypointStudioの配置場所を「C:¥AnypointStudio」とした場合、解凍したフォルダを「C:¥AnypointStudio」直下に配置するとします。
この場合のAnypointStudio.iniには、以下のように記載します。
AnypointStudioを起動中であれば再起動します。再起動する際は、cleanオプションをつけてeclipseが保持するキャッシュをクリアしてから起動した方が無難です。以下のように、ショートカット等にcleanオプションをつけて起動するようにしましょう。
参考
この現象については、MuleSoft公式のヘルプにもほぼ同じ内容が記載されています(英語ですが同じ手順を踏んでいます)。
コメント