Upgrade to Pro — share decks privately, control downloads, hide ads and more …

OrchestratorにOAuthがやってきた2022年版

 OrchestratorにOAuthがやってきた2022年版

昨年にひきつづき、UiPath OrchestratorとOAuthについてのお話しです。

昨年は、OAuth を適用することで、パスワードを他人に知られることなくAPI利用できる利点をお話ししましたが、今年は、UiPath Integration ServiceやPower AutomateなどOAuth対応アプリをIntegrationするツールから呼び出せる利点を中心にお話しさせていただきました。

Masatomi KINO

October 31, 2022
Tweet

More Decks by Masatomi KINO

Other Decks in Programming

Transcript

  1. 3 #UiPathFriends #UiFes @masatomix 自己紹介 名前 木野 雅富 (きの まさとみ)

    会社名 株式会社 プライム・ブレインズ ロール システムアーキテクト Twitter https://twitter.com/masatomix Qiita https://qiita.com/masatomix note https://note.com/masatomix UiPathとの関わり /属性 • 2017/04 くらいに UiPath Studioより先に Orchestrator にであう。 • ユーザヒアリングに基づいて、ユーザのリリース統制にあわせたOrchestrator の運用設計、設定、導入などを行っています。 • UiPath Japan MVP 2019,2020,2021,2022 趣味 • ボルダリング • ホットヨガ • 魚をさばくこと
  2. 4 #UiPathFriends #UiFes @masatomix • 相手先のアプリケーションを利用するために 必要な、アクセストークンをもらう仕組み。 図は UiPath Integration

    Service が相手先(Google)のア クセストークンをもらおうとしている図 ユーザが認可してトークンを取得できると、そのトークン を使ってGoogleのカレンダー情報を取得したり、メール を取得したりできます。 OAuthとは → UiPath(Integration Service)が、 Gmailなどにアクセスできるようになる
  3. 5 #UiPathFriends #UiFes @masatomix • UiPath Orchestrator(以下OC)自体も、OC2021.10あたりから OAuthに対応しました (OCがアクセストークンを発行できるようになった) (図は昨年のテックざんまいの図)

    Orchestrator自体もOAuthに対応している OCが発行してくれたトークンを使って ジョブを実行したり、スケジュール一 覧を取得できる
  4. 9 #UiPathFriends #UiFes @masatomix • UiPath Integration Service 「Google のカレンダーが更新された」とき

    「OCジョブを起動する」など、OAuth対応アプ リを活用できるサービスです OAuth対応のサービスから呼び出せる 具体例 これらだいたいOAuth対応アプリ
  5. 10 #UiPathFriends #UiFes @masatomix • Power Automate こちらも 「OneDriveのファイルが更新された」とき 「Teamsに投稿する」

    などOAuth対応アプリ(コネクタといいます)を活用で きるサービスです OAuth対応アプリがコネクタとして登録 されていれば 「◦◦した」とき「△△する」 ができる OAuth対応のサービスから呼び出せる 具体例 これらだいたいOAuth対応アプリ
  6. 11 #UiPathFriends #UiFes @masatomix • コネクタ(OAuth対応アプリ)があれば「◦◦した」と き「△△する」ができる • UiPathコネクタがあれば Power

    Automateで 「OCのジョブが完了」したら 「Teamsに投稿する」 とかができそう → なければ作ればいい 利点: OAuth対応のサービスから呼び出せる 今回のメインテーマ
  7. 13 #UiPathFriends #UiFes @masatomix • Power Automate でフロー保存時: • 「OCのイベントが発生したら」トリ

    ガーをフローに配置して保存 • OCのWebhookが勝手に登録される (Power Automateのサーバへ通知してねと いうWebhook) カスタムコネクタ(トリガー)ってこう動く • OC上でジョブが実行されると: • 上記のWebhookが動き出してPower Automateサーバへ通知 • Power Automate のフローが動き出す フロー保存時 Webhookに登録 ジョブ実行など イベント発生時 Webhookで通知
  8. 14 #UiPathFriends #UiFes @masatomix カスタムコネクタ(トリガー)の仕組み Power Automate でフロー保存時 フロー保存時 OCのWebhookが勝手に登録される

    (Power Automateサーバへ通知してね、という Webhook) ↑通知先はPower Automateのサーバ OCのWebhook一覧画面 Power Automateの 開発画面
  9. 15 #UiPathFriends #UiFes @masatomix カスタムコネクタ(トリガー)の仕組み OC上でジョブが実行されると フローが動いて、 Teamsに通知 ジョブが実行されると、先程のwebhook が動いてPower

    Automateサーバへ通知 ジョブの実行をトリガーに、 Teamsに通知することができました OCのジョブ画面 Webhookの通知 を受けるサーバ
  10. 16 #UiPathFriends #UiFes @masatomix UiPathやOCがOAuth対応アプリになったので、Power Automate上のコネクタとしてUiPathを簡単に登録できました。 OAuthの利点 OAuth対応のサービスから呼び出せる OAuth対応アプリなので、 •

    アクセストークンをどうやってAPIに渡すか • OCのURLやOCへのログイン情報を指定するUI などの開発は不要でした! (今回Swagger定義のみでノーコードです)
  11. 17 #UiPathFriends #UiFes @masatomix OCのバージョンが上がるにつれ、認証・認可が AR: 対話型サインイン(Authorization Code GrantなOAuth) UR:

    ClientID/Secretによる接続(Client Credentials なOAuth) API: 上記どちらかのOAuth(通常はARの方式とおなじ) とOAuthに集約されています。 またUiPath Orchestrator製品群がOAuth対応アプリとなったことで、 Power Automateなど他社サービスとの連携も容易になりました! 興味を持たれた方は、ぜひいろいろと触ってみてはいかがでしょうか! まとめ
  12. 18 #UiPathFriends #UiFes @masatomix • The OAuth 2.0 Authorization Framework

    : OAuthの仕様書(RFC6749) https://datatracker.ietf.org/doc/html/rfc6749 • 外部アプリケーション機能(OAuth)によるOrchestrator APIコール実装方法: 公式のよくまとまった記事。 https://bit.ly/2ZB83MD • [UiPath]外部アプリケーション機能(OAuth)によるOrchestrator APIコール実装方法(TypeScript版) https://qiita.com/masatomix/items/67247e1fcc7049cefcc0 • 外部アプリケーション機能(OAuth)によるOrchestrator APIコール実装方法: 公式のよくまとまった記事。 https://bit.ly/2ZB83MD • Qiitaで情報発信やってます! https://qiita.com/masatomix 参考文献 ご静聴ありがと うございました OCのコネクタのSwagger定義が 欲しい方、遠慮なくDMください @masatomix