SlideShare une entreprise Scribd logo
1  sur  47
でソーシャルログインを実装する
Dec 18, 2019
Ryusuke Tanaka
Payment Solution Development Group.
Open Commerce Service Development Section.
EC Incubation Development Department.
Rakuten, Inc.
2
自己紹介
田中 竜介
• 所属:楽天株式会社 ECイン
キューベーション開発部
(ECID)
楽天ペイ(オンライン決済)の
開発業務を担当
• 趣味:スキー、自転車
3
担当サービス紹介:楽天ペイ(オンライン決済)
[楽天ペイ(オンライン決済)・2019/12/03・https://checkout.rakuten.co.jp/]
特徴
• 楽天ID でネット決済が可
能
• 楽天ポイントが貯まる、
使える
4
担当サービス紹介:楽天ペイ(オンライン決済)
分類 技術
言語 Java 11
フレームワーク • Spring Boot
• Spring Security
• Spring Session
• MyBatis
• etc..
インフラ • Azure
• Kubernetes(AKS Managed Cluster)
• Docker
採用技術
5
セッションのAgenda に入る前に、
大切なおしらせです
6
[Spring Social End of Life Announcement ・2019/12/03・https://spring.io/blog/2018/07/03/spring-social-end-of-life-announcement]
7
[Spring Social End of Life Announcement ・2019/12/03・https://spring.io/blog/2018/07/03/spring-social-end-of-life-announcement]
!!!
8
まとめ
Spring Social はEOL を迎えてしまったプロジェクトです。
9
しかし、このままEOL のライブラリを紹介するわけには。。。
10
[Spring Social End of Life Announcement ・2019/12/03・https://spring.io/blog/2018/07/03/spring-social-end-of-life-announcement]
11
セッションのテーマ
Spring Security
OAuth2
Spring Social
Spring Social の代わりに、
OAuth 2.0 のClient に対応したSpring Security OAuth2 をご紹介します。
12
気を取り直して
セッションのAgendaです
13
• ソーシャルログインとは
• デモ
• OAuth 2.0 / Open ID Connect とは
• デモソースコード / Spring Security OAuth2 解説
• 最後に
14
ソーシャルログインとは
[ENOTECA online ログイン・2019/12/03・https://www.enoteca.co.jp/auth/login?banner=hd]
[【楽天】ログイン・2019/12/06・https://grp02.id.rakuten.co.jp/rms/nid/login]
メリット
エンドユーザは自身のSNSアカウントでログインすることができる。
-> ユーザ登録の手間を省きコンバージョン率を改善
15
• ソーシャルログインとは
• -> デモ
• OAuth 2.0 / Open ID Connect とは
• デモソースコード / Spring Security OAuth2 解説
• 最後に
16
デモ:概要
ソーシャルログインが出来る掲示板
• エンドユーザは、自身のSNS アカウントでデモアプリケーションにログイン
ができる。SNS アカウントはFacebookとGoogleを選択できる。
• エンドユーザは、ログイン後、記事の投稿と閲覧ができる。
• デモアプリケーションは、SNS アカウントでログインしたエンドユーザの情
報を、選択されたSNS から取得ができる。
17
デモソースコード
https://github.com/jack-berkut/spring-security-oauth-demo
18
• ソーシャルログインとは
• デモ
• -> OAuth 2.0 / Open ID Connect とは
• デモソースコード / Spring Security OAuth2 解説
• 最後に
19
とは
背景
1. 近年、様々なサービスが公開されてきた。
2. 新しいユーザ価値を生み出すため、それらの機能の一部を一つのサービスに
統合させる必要が出てきた。
エンドユーザ
サービスA
サービスB
新しいサービス提供
①
サービスCサービス提供
機能を利用
エンドユーザ
サービスA
サービスB
②
20
とは
問題点
エンドユーザの代わりに、サービスCは別サービスのAPI を実行する必要がある
-> サービスCはエンドユーザからAPIの実行が認可されている
サービスC
API 実行を認可
サービスA(API)
サービスB(API)
API 実行
OAuth 2.0 はこの問題を解決するために生まれた
21
とは
OAuth 2.0 の概要と登場人物
OAuth 2.0 はクライアントが認可されるためのフロー(プロトコル)
クライアント
(サービスC)
認可サーバ
(サービスA)
リソースオーナー
(エンドユーザ) リソースサーバ
(サービスAの API)
認可
認可コードとアクセス
トークンの発行
アクセストークンを
使ってリソースサーバ
のAPI を実行
フローの最終目標
22
登場人物
登場人物 概要
リソースオーナー エンドユーザに該当。
クライアント
-> このセッションの対象
デモアプリケーションに該当。
認可された後にリソースサーバのAPI
を実行する。
認可サーバ SNS に該当。
リソースオーナーに認可を求めたり、
認可コードやアクセストークンを発行
する。
リソースサーバ SNS に該当。
リソースオーナーの情報を操作できる
API を公開する。
23
登場人物
登場人物 概要
クライアントID・シークレット 認可サーバがクライアントを識別する
ための情報
スコープ リソースオーナーがクライアントに認
可する範囲
認可コード リソースオーナーがクライアントを認
可した事を示すトークン
アクセストークン リソースサーバのAPI を実行できる
トークン
24
フローの種類
フロー 概要
認可コードフロー
-> このセッションの対象
認可コードでアクセストークンを取得
する
インプリシットフロー 直接アクセストークンを取得する
クライアントクレデンシャルフロー リソースオーナーのID・パスワードを
クライアントが取り扱う
リフレッシュトークンフロー 有効期限が過ぎたアクセストークンを
更新する
25
フロー(認可コードフロー)
クライアント 認可サーバリソース
オーナー
リソースサーバ
⑦ユーザ情報取得要求
⑤アクセストークン
取得要求
① 認可エンドポ
イントに遷移
⑥アクセストークン
⑧ユーザ情報
②リソースオー
ナーがクライアン
トを認可
③リダイレクトエ
ンドポイントにリ
ダイレクトさせる
④リダイレクト
26
をソーシャルログインで利用するときの問題点
• OAuth 2.0 は(クライアントに対する)認可のための仕様
-> リソースオーナーの認証は保証されていない
クライアント
認可サーバ
リソースオーナー
認証
認可
?
OpenID Connect はこの問題を解決するために生まれた
27
とは
OpenID Connect の概要と登場人物
クライアント
認可サーバ
リソースオーナー
リソースサーバ
認可
認可コードとID トークンの発行
ID トークンを使ってリ
ソースサーバのAPI を
実行
ID トークンを使って認証
?
28
登場人物( と比較)
OAuth 2.0 OpenID Connect 説明
認可サーバ ID プロバイダー 認可コードとID トークンの
発行
アクセストークン ID トークン エンドユーザの一意なキー
や改ざん防止のプロパティ
などが含まれる
29
フロー追加
クライアント ID プロパイダーリソース
オーナー
⑤IDトークン取得要
求
① 認可エンドポ
イントに遷移
③リダイレクトエ
ンドポイントにリ
ダイレクトさせる
④リダイレクト
②リソースオー
ナーがクライアン
トを認可
⑥IDトークン⑦ID トークンを検証
30
• ソーシャルログインとは
• デモ
• OAuth 2.0 / Open ID Connect とは
• -> デモソースコード / Spring Security OAuth2 解説
• 最後に
31
とは
• OAuth 2.0 / OpenID Connect 関連のSpring Project
• OAuth 2.0 / OpenID Connect 登場人物毎の実装をサポートする
• クライアント:対応
-> このセッションの対象
• リソースサーバ:対応
• 認可サーバ:未対応
32
とは
Spring Project の各Module の役割
Spring Module 役割
Spring Security OAuth2 Client OAuth 2.0 のクライアント実装を提供
-> 複雑なクライアント実装が不要
Spring Security Core ユーザ認証のフローを提供
-> 具体的な認証方法はOAuth2 Client
に委譲
Spring Boot Auto Configure Auto-configuration によるSpring
Security のBeanを提供
-> Bean の手動設定が不要
33
デモソースコード解説
dependencies {
// Spring Security 関連
implementation 'org.springframework.boot:spring-boot-starter-security'
// OAuth 2.0 クライアント関連
implementation 'org.springframework.security:spring-security-oauth2-client'
// OpenID Connect JWT 関連
implementation 'org.springframework.security:spring-security-oauth2-jose'
}
build.gradle
34
デモソースコード解説
spring:
security:
oauth2:
client:
registration:
facebook:
client-id: Facebook Graph API のクライアントID
client-secret: Facebook Graph API のクライアントシークレット
google:
client-id: Google APIs のクライアントID
client-secret: Google APIs のクライアントシークレット
application.yaml
※このセッションではクライアントID・シークレットの取得方法は割愛
35
デモソースコード解説
@Override
protected void configure(HttpSecurity http) throws Exception {
http.authorizeRequests()
// ログイン画面はログインしていない状態でもアクセスできる
.antMatchers("/login").permitAll()
// その他の画面はログイン必須
.anyRequest().authenticated()
.and()
// ログインはOAuth 2.0 のフローを利用する
.oauth2Login()
// Spring Security デフォルトのログイン画面ではなく独自のログイン画面を表示する
.loginPage("/login");
}
SecurityConfig.java
36
デモソースコード解説
@Override
public void configure(WebSecurity web) {
// 静的リソース(CSSやJavaScriptなど)はSpring Security の対象外にする
web.ignoring().antMatchers("/css/**", "/js/**", "/fonts/**");
}
SecurityConfig.java
37
デモソースコード解説
<!-- リソースオーナーを認可エンドポイントにリダイレクトさせるエンドポイント -->
<a th:href="@{/oauth2/authorization/facebook}">Facebook でログイン</a>
<a th:href="@{/oauth2/authorization/google}">Google でログイン</a>
login.html
※Spring Security OAuth 2.0デフォルトのログイン画面でも機能に支障は出ない
38
デモソースコード解説
@GetMapping(“/”)
public String showArticles(@AuthenticationPrincipal OAuth2User oauth2User, Model model) {
// Spring Boot Auto-configuration によってOAuth2User は自動でインジェクトされる
List<Article> articles = articleRepository.findAll();
model.addAttribute("userName", oauth2User.getAttribute("name"));
model.addAttribute("articles", articles);
model.addAttribute("articleForm", new ArticleForm());
return "index";
}
BBSController.java
39
デモソースコード解説
@PostMapping("/post")
public String postArticle(@AuthenticationPrincipal OAuth2User oauth2User, @ModelAttribute
ArticleForm articleForm) {
Article article = new Article();
article.setName(oauth2User.getAttribute("name"));
article.setEntry(articleForm.getEntry());
article.setDate(LocalDate.now());
articleRepository.save(article);
return "redirect:/";
}
BBSController.java
40
提供機能
Spring Security OAuth2 Client 提供機能
• リソースオーナーを認可エンドポイントにリダイレクトさせる
• リダイレクトエンドポイント提供
• アクセストークン取得
• ユーザ情報取得
• etc..
41
クラス概要
ClientRegistration クラス
• 認可サーバ(SNS)の情報を保持
• Registration ID(SNSの種類と同等)
• クライアントID
• クライアントシークレット
• スコープ
• etc..
• 認可リクエストや認可コード取得など、認可サーバと通信する際に使用される
• application.yaml からプロパティが読み込まれる
ClientRegistrationRepository インターフェイス
• 複数のClientRegistration を保持
• このインターフェイスから、リソースオーナーが選択した認可サーバの
ClientRegistration を取得できる
42
クラス概要
CommonOAuth2Provider クラス
• Spring Security OAuth2 デフォルト認可サーバ・リソースサーバの情報を保持
• Google
• Facebook
• GitHub
• Okta
43
クラス概要
OAuth2AuthorizationRequestRedirectFilter クラス
• /oauth2/authorization/${registrationId} にマッピングされている
• リソースオーナーを認可エンドポイントへリダイレクトさせる
(302 レスポンスコードをレスポンスする)
OAuth2LoginAuthenticationFilter クラス
• リダイレクトエンドポイントの実装
• /oauth2/code/${registrationId} にマッピングされている
• リクエストに含まれた認可コードでアクセストークンを取得する
• アクセストークンでユーザ情報を取得する
44
クラス概要
OAuth2AuthenticationToken クラス
• OAuth2AuthorizedClientService でアクセストークンやユーザ情報を取得するた
めに必要
OAuth2AuthorizedClientService クラス
• OAuth 2.0 フロー完了後、任意のタイミングでアクセストークンやユーザ情報
を取得できる
• デフォルトでは、OAuth2LoginAuthenticationFilter によってセッションに保存
されている
45
• ソーシャルログインとは
• デモ
• OAuth 2.0 / Open ID Connect とは
• デモソースコード / Spring Security OAuth2 解説
• -> 最後に
46
最後に
• OAuth 2.0 / OpenID Connect でソーシャルログインをはじめとした新しいユー
ザ価値を提供することが可能になった。
• Spring Security OAuth2やSpring Boot Auto-configuration を利用することで、ク
ライアントの実装の手間は極力削減することができる。
• ライブラリのEOL・サポート状況に気をつけましょう。。。。
Spring Social でソーシャルログインを実装する

Contenu connexe

Tendances

JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私Shoji Shirotori
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAkihiro Kuwano
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)NTT DATA Technology & Innovation
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)NTT DATA Technology & Innovation
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)NTT DATA Technology & Innovation
 
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)NTT DATA Technology & Innovation
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門Hiroyuki Wada
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Takeshi Fukuhara
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)NTT DATA Technology & Innovation
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢apkiban
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)NTT DATA Technology & Innovation
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理NTT DATA Technology & Innovation
 
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱Yuya Rin
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Yuji Otani
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことAmazon Web Services Japan
 

Tendances (20)

JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私JenkinsとCodeBuildとCloud Buildと私
JenkinsとCodeBuildとCloud Buildと私
 
AWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティスAWSのログ管理ベストプラクティス
AWSのログ管理ベストプラクティス
 
Serverless時代のJavaについて
Serverless時代のJavaについてServerless時代のJavaについて
Serverless時代のJavaについて
 
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
PostgreSQLのロール管理とその注意点(Open Source Conference 2022 Online/Osaka 発表資料)
 
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
オススメのJavaログ管理手法 ~コンテナ編~(Open Source Conference 2022 Online/Spring 発表資料)
 
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
AWS Organizations連携サービスの罠(Security JAWS 第26回 発表資料)
 
AWSからのメール送信
AWSからのメール送信AWSからのメール送信
AWSからのメール送信
 
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
Azureを頑張る理由と頑張り方(Cloud Skills Challenge 2022 winter 発表資料)
 
分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)分散トレーシング技術について(Open tracingやjaeger)
分散トレーシング技術について(Open tracingやjaeger)
 
Keycloak拡張入門
Keycloak拡張入門Keycloak拡張入門
Keycloak拡張入門
 
Azure Network 概要
Azure Network 概要Azure Network 概要
Azure Network 概要
 
Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法Azure Monitor Logで実現するモダンな管理手法
Azure Monitor Logで実現するモダンな管理手法
 
Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022Infrastructure as Code (IaC) 談義 2022
Infrastructure as Code (IaC) 談義 2022
 
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
今こそ知りたいSpring Batch(Spring Fest 2020講演資料)
 
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
GraalVM の概要と、Native Image 化によるSpring Boot 爆速化の夢
 
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
Grafana LokiではじめるKubernetesロギングハンズオン(NTT Tech Conference #4 ハンズオン資料)
 
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
え、まって。その並列分散処理、Kafkaのしくみでもできるの? Apache Kafkaの機能を利用した大規模ストリームデータの並列分散処理
 
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
構成情報データベースをGitで管理したいネットワーク運用者の憂鬱
 
Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)Redis勉強会資料(2015/06 update)
Redis勉強会資料(2015/06 update)
 
マルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのことマルチテナント化で知っておきたいデータベースのこと
マルチテナント化で知っておきたいデータベースのこと
 

Similaire à Spring Social でソーシャルログインを実装する

Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Hitachi, Ltd. OSS Solution Center.
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理Naohiro Fujie
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門Naohiro Fujie
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてTakashi Yahata
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携Naohiro Fujie
 
Whats new in_a360-19-20_jp
Whats new in_a360-19-20_jpWhats new in_a360-19-20_jp
Whats new in_a360-19-20_jpssuser033561
 
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドラインOpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドラインTakashi Yahata
 
Cloud Identity Summit 2012 TOI
Cloud Identity Summit 2012 TOICloud Identity Summit 2012 TOI
Cloud Identity Summit 2012 TOITatsuo Kudo
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜Masaru Kurahayashi
 
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可Hitachi, Ltd. OSS Solution Center.
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Shinya Nakajima
 
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1Toshiaki Maki
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsTatsuo Kudo
 
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向Tatsuo Kudo
 
数々の実績:迅速なFIDO認証の展開をサポート
数々の実績:迅速なFIDO認証の展開をサポート数々の実績:迅速なFIDO認証の展開をサポート
数々の実績:迅速なFIDO認証の展開をサポートFIDO Alliance
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Foundation Japan
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideTatsuo Kudo
 

Similaire à Spring Social でソーシャルログインを実装する (20)

Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
Keycloakの全体像: 基本概念、ユースケース、そして最新の開発動向
 
Azure ADとIdentity管理
Azure ADとIdentity管理Azure ADとIdentity管理
Azure ADとIdentity管理
 
実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門実装して理解するLINE LoginとOpenID Connect入門
実装して理解するLINE LoginとOpenID Connect入門
 
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けてOpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
OpenID ConnectとSCIMによるエンタープライズでのID連携活用に向けて
 
プロトコルから見るID連携
プロトコルから見るID連携プロトコルから見るID連携
プロトコルから見るID連携
 
Whats new in_a360-19-20_jp
Whats new in_a360-19-20_jpWhats new in_a360-19-20_jp
Whats new in_a360-19-20_jp
 
NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話NGINXをBFF (Backend for Frontend)として利用した話
NGINXをBFF (Backend for Frontend)として利用した話
 
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドラインOpenID ConnectとSCIMのエンタープライズ利用ガイドライン
OpenID ConnectとSCIMのエンタープライズ利用ガイドライン
 
Cloud Identity Summit 2012 TOI
Cloud Identity Summit 2012 TOICloud Identity Summit 2012 TOI
Cloud Identity Summit 2012 TOI
 
Keycloakの最近のトピック
Keycloakの最近のトピックKeycloakの最近のトピック
Keycloakの最近のトピック
 
認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜認証の課題とID連携の実装 〜ハンズオン〜
認証の課題とID連携の実装 〜ハンズオン〜
 
Keycloakのステップアップ認証について
Keycloakのステップアップ認証についてKeycloakのステップアップ認証について
Keycloakのステップアップ認証について
 
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
パスキーでリードする: NGINXとKeycloakによる効率的な認証・認可
 
Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)Visual Studio App Centerで始めるCI/CD(iOS)
Visual Studio App Centerで始めるCI/CD(iOS)
 
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
決済システムの内製化への旅 - SpringとPCFで作るクラウドネイティブなシステム開発 #jsug #sf_h1
 
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawawsOAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
 
認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向認証技術、デジタルアイデンティティ技術の最新動向
認証技術、デジタルアイデンティティ技術の最新動向
 
数々の実績:迅速なFIDO認証の展開をサポート
数々の実績:迅速なFIDO認証の展開をサポート数々の実績:迅速なFIDO認証の展開をサポート
数々の実績:迅速なFIDO認証の展開をサポート
 
OpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンスOpenID Connect のビジネスチャンス
OpenID Connect のビジネスチャンス
 
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_insideAuthlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
Authlete: セキュアな金融 API 基盤の実現と Google Cloud の活用 #gc_inside
 

Plus de Rakuten Group, Inc.

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話Rakuten Group, Inc.
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のりRakuten Group, Inc.
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Rakuten Group, Inc.
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みRakuten Group, Inc.
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開Rakuten Group, Inc.
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用Rakuten Group, Inc.
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャーRakuten Group, Inc.
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割Rakuten Group, Inc.
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Group, Inc.
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfRakuten Group, Inc.
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfRakuten Group, Inc.
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfRakuten Group, Inc.
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoRakuten Group, Inc.
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technologyRakuten Group, Inc.
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情Rakuten Group, Inc.
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャーRakuten Group, Inc.
 

Plus de Rakuten Group, Inc. (20)

コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
コードレビュー改善のためにJenkinsとIntelliJ IDEAのプラグインを自作してみた話
 
楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり楽天における安全な秘匿情報管理への道のり
楽天における安全な秘匿情報管理への道のり
 
What Makes Software Green?
What Makes Software Green?What Makes Software Green?
What Makes Software Green?
 
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
Simple and Effective Knowledge-Driven Query Expansion for QA-Based Product At...
 
DataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組みDataSkillCultureを浸透させる楽天の取り組み
DataSkillCultureを浸透させる楽天の取り組み
 
大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開大規模なリアルタイム監視の導入と展開
大規模なリアルタイム監視の導入と展開
 
楽天における大規模データベースの運用
楽天における大規模データベースの運用楽天における大規模データベースの運用
楽天における大規模データベースの運用
 
楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー楽天サービスを支えるネットワークインフラストラクチャー
楽天サービスを支えるネットワークインフラストラクチャー
 
楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割楽天の規模とクラウドプラットフォーム統括部の役割
楽天の規模とクラウドプラットフォーム統括部の役割
 
Rakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdfRakuten Services and Infrastructure Team.pdf
Rakuten Services and Infrastructure Team.pdf
 
The Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdfThe Data Platform Administration Handling the 100 PB.pdf
The Data Platform Administration Handling the 100 PB.pdf
 
Supporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdfSupporting Internal Customers as Technical Account Managers.pdf
Supporting Internal Customers as Technical Account Managers.pdf
 
Making Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdfMaking Cloud Native CI_CD Services.pdf
Making Cloud Native CI_CD Services.pdf
 
How We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdfHow We Defined Our Own Cloud.pdf
How We Defined Our Own Cloud.pdf
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
Travel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech infoTravel & Leisure Platform Department's tech info
Travel & Leisure Platform Department's tech info
 
OWASPTop10_Introduction
OWASPTop10_IntroductionOWASPTop10_Introduction
OWASPTop10_Introduction
 
Introduction of GORA API Group technology
Introduction of GORA API Group technologyIntroduction of GORA API Group technology
Introduction of GORA API Group technology
 
100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情100PBを越えるデータプラットフォームの実情
100PBを越えるデータプラットフォームの実情
 
社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー社内エンジニアを支えるテクニカルアカウントマネージャー
社内エンジニアを支えるテクニカルアカウントマネージャー
 

Dernier

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Danieldanielhu54
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdffurutsuka
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Yuma Ohgami
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxAtomu Hidaka
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略Ryo Sasaki
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムsugiuralab
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000Shota Ito
 

Dernier (7)

Postman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By DanielPostman LT Fukuoka_Quick Prototype_By Daniel
Postman LT Fukuoka_Quick Prototype_By Daniel
 
UPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdfUPWARD_share_company_information_20240415.pdf
UPWARD_share_company_information_20240415.pdf
 
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
Open Source UN-Conference 2024 Kawagoe - 独自OS「DaisyOS GB」の紹介
 
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptxIoT in the era of generative AI, Thanks IoT ALGYAN.pptx
IoT in the era of generative AI, Thanks IoT ALGYAN.pptx
 
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
[DevOpsDays Tokyo 2024] 〜デジタルとアナログのはざまに〜 スマートビルディング爆速開発を支える 自動化テスト戦略
 
スマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システムスマートフォンを用いた新生児あやし動作の教示システム
スマートフォンを用いた新生児あやし動作の教示システム
 
PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000PHP-Conference-Odawara-2024-04-000000000
PHP-Conference-Odawara-2024-04-000000000
 

Spring Social でソーシャルログインを実装する