狠狠撸

狠狠撸Share a Scribd company logo
尘蝉补濒.箩蝉を使う
2019.6 .Netラボ
誰?
@DevTakas
Angular / Azure / .Net Core / Azure DevOps
誰?
ブログやってます
http://takasdev.hatenablog.com/
「はまったりひらめいたり…とか…」
認証
ぶっちゃけめんどい
めんどい认証フロー
認証のフローはシンプルだがややこしい
? エンドポイントにリクエスト投げてトークン取得。ほーん。
? しかし案外やることや求められることが多い
? クライアントIDを指定してください!とか
? リダイレクトURLに返却されるのでCallbackで引っ掛けて!とか
? 何やればいいのか今さら1から調べて実装する?
? Azure ADを使って認証を行いたい?
? MSから提供されているライブラリがあるので使いましょう!
ライブラリ
? adal
? ADのv1エンドポイント用認証ライブラリ
? 職場または学校アカウントを使用した認証機能が提供される
? msal
? 現在の主戦場はAzure AD B2C
? ADのv2エンドポイントでも使用できる認証ライブラリ
? https://docs.microsoft.com/ja-jp/azure/active-directory/develop/sample-v2-code
? 個人マイクロソフトアカウントの認証も可能
? Graph使いたかったらこっちのほうがとっつきやすいかも?
? .Net / JavaScriptのライブラリあり
? これからはmsalが主役になってくる!はず???
? ADALのGitHub最終更新2018年だし???
ライブラリ
? ADALのエンドポイントをv2にしてトークン取るのはブログで
書いたので見てみてください(ダイマ
? http://takasdev.hatenablog.com/entry/2019/06/16/223103
msal.jsで主に必要な情報
? ClientId
? AzureADアプリケーションのアプリケーションID
? Scopes
? アクセス許可 – Azure AD のアプリケーションで設定できる
? Authority
? サインインオーディエンス
? https://login.microsoft.com/common or .com/<TENANT ID>
? 指定することもあるしないこともある
? マルチテナント対応していない場合はテナントID指定URL
? B2Cの場合も指定したほうが良い場合が多い
msal.jsのログインフロー
1. UserAgentApplicationインスタンス生成
? msalのコンフィグ情報を食わせた状態でインスタンスを生成
? clientId(必須) / authority / scopes …
2. ログイン
? loginPopup
? ダイアログ内でログイン処理が行われる
? 認証結果はPromiseで返却される
? SPAアプリケーションはこっちかな?
? LoginRedirect
? ページ遷移してログイン処理が行われる
? UserAgentApplicationのHandleRedirectCallBackで引っ掛ける
msal.jsのログインフロー
3. acquireToken
? アクセストークンの取得処理
? Scopesを指定して問題なければトークンが取得できる
? 指定したScopesがAD Appで使用できない = 許可されていない
? MS Graphのスコープは下記参照
? https://docs.microsoft.com/en-us/graph/permissions-reference
msal.jsで取得されたトークン
? https://jwt.io で中身を見てみる
まとめ
? ADの認証を簡易に制御/実装をするためのライブラリがある!
? ADAL
? MSAL
? ライブラリを使って認証アプリケーションをサクッと作ろう!

More Related Content

What's hot (20)

PDF
【de:code 2020】 PostgreSQL もスケールさせよう! - Hyperscale (Citus) -
日本マイクロソフト株式会社
?
PDF
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
?
PPTX
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
Akihiro Suda
?
PPTX
脱RESTful API設計の提案
樽八 仲川
?
PDF
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
?
PDF
滨苍苍辞顿叠のすゝめ(仮)
Takanori Sejima
?
DOCX
Low level design template (1)
anosha jamshed
?
PDF
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
?
PDF
[Japan Tech summit 2017] SEC 004
Microsoft Tech Summit 2017
?
PDF
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
PDF
はじめての vSRX on AWS
Juniper Networks (日本)
?
PDF
ストリーム処理を支えるキューイングシステムの选び方
Yoshiyasu SAEKI
?
PPTX
Amazon EKS によるスマホゲームのバックエンド運用事例
gree_tech
?
PDF
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
Yuta Matsumura
?
PPTX
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
?
PDF
OpenID Connect 入門 ?コンシューマーにおけるID連携のトレンド?
Masaru Kurahayashi
?
PDF
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
?
PDF
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
suno88
?
PPTX
Azure API Management 俺的マニュアル
貴志 上坂
?
PDF
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
Seungmin Shin
?
【de:code 2020】 PostgreSQL もスケールさせよう! - Hyperscale (Citus) -
日本マイクロソフト株式会社
?
Azure Monitor Logで実現するモダンな管理手法
Takeshi Fukuhara
?
DockerCon参加報告 (`docker build`が30倍以上速くなる話など)
Akihiro Suda
?
脱RESTful API設計の提案
樽八 仲川
?
.NET 最新ロードマップと今押さえておきたい技術要素
Akira Inoue
?
滨苍苍辞顿叠のすゝめ(仮)
Takanori Sejima
?
Low level design template (1)
anosha jamshed
?
【Unite Tokyo 2019】Unityだったら簡単!マルチプレイ用ゲームサーバ開発 ~実践編~
UnityTechnologiesJapan002
?
[Japan Tech summit 2017] SEC 004
Microsoft Tech Summit 2017
?
无料で仮想闯耻苍辞蝉环境を手元に作ろう
akira6592
?
はじめての vSRX on AWS
Juniper Networks (日本)
?
ストリーム処理を支えるキューイングシステムの选び方
Yoshiyasu SAEKI
?
Amazon EKS によるスマホゲームのバックエンド運用事例
gree_tech
?
ASP.NET CoreとAzure AD B2Cを使ったサクっと認証
Yuta Matsumura
?
Azure Api Management 俺的マニュアル 2020年3月版
貴志 上坂
?
OpenID Connect 入門 ?コンシューマーにおけるID連携のトレンド?
Masaru Kurahayashi
?
グリー株式会社『私たちが GCP を使い始めた本当の理由』第 9 回 Google Cloud INSIDE Game & Apps
Google Cloud Platform - Japan
?
もうひとつのアンチパターン OTLT、あるいは如何にして私はオレオレフレームワークを忌み嫌うようになったか
suno88
?
Azure API Management 俺的マニュアル
貴志 上坂
?
[KGC 2012] Online Game Server Architecture Case Study Performance and Security
Seungmin Shin
?

Similar to 尘蝉补濒.箩蝉を使う (6)

PPTX
msal.js v2を触る
DevTakas
?
PDF
Thinking the best practice of WebAPI with Azure AD For Xamarin.Forms
Satoru Fujimori
?
PPTX
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
DevTakas
?
PPTX
Azure AD Application を使用した認証のアレコレ
DevTakas
?
PPTX
础锄耻谤别础顿の认証で失败した话
DevTakas
?
PPTX
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
?
msal.js v2を触る
DevTakas
?
Thinking the best practice of WebAPI with Azure AD For Xamarin.Forms
Satoru Fujimori
?
Azure ADアプリケーションを使用した認証のあれやこれ ASP.NET Core編
DevTakas
?
Azure AD Application を使用した認証のアレコレ
DevTakas
?
础锄耻谤别础顿の认証で失败した话
DevTakas
?
Azure ADアプリケーションを使用した認証のあれやこれ
DevTakas
?
Ad

More from DevTakas (13)

PPTX
Microsoft Graph Toolkitで手軽にM365フロント開発
DevTakas
?
PPTX
Azure Artifactsを触ってみよう
DevTakas
?
PPTX
Azure Web PubSub Serviceを触ってみた
DevTakas
?
PPTX
Microsoft Graph Toolkitを使ってGraph開発を体験しよう
DevTakas
?
PPTX
ASP.NET Core WebAPIでODataを使おう
DevTakas
?
PPTX
Microsoft Graphのことはじめ
DevTakas
?
PPTX
Azure Event HubsでGraph変更通知を受け取る
DevTakas
?
PPTX
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
DevTakas
?
PPTX
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
DevTakas
?
PPTX
Microsoft Graphの変更通知で遊ぶ
DevTakas
?
PPTX
Microsoft Graphを使ってアプリケーションを作った時の話
DevTakas
?
PPTX
Microsoft Graphことはじめ クエリパラメータ編
DevTakas
?
PPTX
Microsoft Graph完全に理解した気がしてた
DevTakas
?
Microsoft Graph Toolkitで手軽にM365フロント開発
DevTakas
?
Azure Artifactsを触ってみよう
DevTakas
?
Azure Web PubSub Serviceを触ってみた
DevTakas
?
Microsoft Graph Toolkitを使ってGraph開発を体験しよう
DevTakas
?
ASP.NET Core WebAPIでODataを使おう
DevTakas
?
Microsoft Graphのことはじめ
DevTakas
?
Azure Event HubsでGraph変更通知を受け取る
DevTakas
?
僕はあなたを監視する(MS Graph Subscriptionのβで公開されたpresencesを使おう!)
DevTakas
?
TeamsのチャネルとやりとりするWeb Applicationを作ったお話
DevTakas
?
Microsoft Graphの変更通知で遊ぶ
DevTakas
?
Microsoft Graphを使ってアプリケーションを作った時の話
DevTakas
?
Microsoft Graphことはじめ クエリパラメータ編
DevTakas
?
Microsoft Graph完全に理解した気がしてた
DevTakas
?
Ad

尘蝉补濒.箩蝉を使う