0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

Oktaに関するアウトプットAdvent Calendar 2023

Day 13

Okta - テンプレートアプリ作成での留意事項(昨日の続きから)

Last updated at Posted at 2023-12-12

はじめに

昨日、Copy CSS Selector を使って Microsoft Advertising のOktaアプリを作成しましたが、パスワード入力画面でパスワードが入力されませんでした。
今日は、この問題を解決します。

昨日の続き

原因

いきなりですが、今回パスワードの入力が行われなかった原因は「パスワードページのURL」です。

ひとまず、今回アプリに設定したパスワードページのURLを確認してみましょう。

image.png

文字で記載すると以下です。
https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=16&ct=1701779069&rver=7.3.6963.0&wp=MBI_SSL&lc=1041&id=288120&lw=1&fl=email%2cflname&uaid=0196bd3bb63e426798766ec71196c0e9&username=xxxxxxxxxxxxxxxxxxx&wreply=https%3A%2F%2Fui.ads.microsoft.com%2Fcampaign%2Flogin%2Flive

では、次にOktaアプリからログインしようとした際のパスワードページのURLを見てみます。
https://login.live.com/login.srf?wa=wsignin1.0&rpsnv=16&ct=1701782396&rver=7.3.6963.0&wp=MBI_SSL&lc=2057&id=288120&lw=1&fl=email%2cflname&uaid=3713342efd844b18b5e3040cfec8e6d3&username=xxxxxxxxxxxxxxxxxxx&wreply=https%3A%2F%2Fui.ads.microsoft.com%2Fcampaign%2Flogin%2Flive

この二つを比較すると、微妙にパラメータ部分(?以降の部分)の値が異なっていることがわかります。
つまり、Oktaがパスワードページのだと思っているURLと実際のURLが異なるため、プラグインが反応せずにパスワードが入力されなかったのでした。

対応

じゃぁどうしたらいいのか。
簡単です。Oktaに登録したパスワードページのURLからパラメータ部分を削除してください。
こんな感じ
image.png

動作確認

エンドユーザーダッシュボードから Microsoft Advertising アプリを選択。

  • image.png

IDが入力されて次の画面へ

  • image.png

パスワードが入力されてログイン処理が実行されました。

  • image.png

留意事項1

今回のようにIDとパスワードを別画面で入力させるようなサービスの場合、パスワードページのURLがアクセスごとに自動生成されるものが多いです。
CSSセレクタの指定は間違ってないはずなのになぜか動作しない場合は、URLに注意してみてください。

CSSセレクタが正しくない場合

今回の例ではパスワードページのURLが原因でしたが、CSSセレクタが原因でログインできないこともあります。
本当はそのような例を出したかったのですが、どのサイトだったかまで思い出せませんでした。

ただ、一応Copy CSS Selectorを使わない場合にどうすればよいかも記載しておきます。

Chrome拡張機能を使わないCSSセレクタの指定方法

Chromeでサイトを開き、対象の項目を右クリック > 検証 を選択します。
image.png

こんな感じで開発者ツールが起動します。
image.png

この中から以下のようにidやnameを指定します。
いずれでも問題なく動作します。

  • id
    • #LoginModel_Username
  • name
    • input[name="LoginModel.Username"]

留意事項2

突然ですが、ログインボタンを右クリック:検証から確認して、以下のような情報が表示された場合どうしますか。
なんか使える情報なさそうですよね...
ちなみに黒で塗りつぶしている部分にサービス名が入っていて、実際に使われているサービスです。
image.png

このとき私は input[type="image"] を指定してログインできるようになりました。
ログインボタンの他に type="image" を使用している項目がなかったため動作したのだと思います。

何が言いたいかというと、あきらめずに試行してみてください。
試しにやってみると意外と動くケースもあります。

さいごに

テンプレートアプリから作成するようなサービスの場合、実際に動くかどうかは画面の作りに左右されます。
頑張っても本当に動作しないケースもありますが、意外と何とかなるものが多いのでいろいろ試行錯誤してみるとよいと思います。
今日はここまで。ありがとうございました。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?