Skip to main content
Download free for 30 days
Sign in
Upload
Language (EN)
Support
Business
Mobile
Social Media
Marketing
Technology
Art & Photos
Career
Design
Education
Presentations & Public Speaking
Government & Nonprofit
Healthcare
Internet
Law
Leadership & Management
Automotive
Engineering
Software
Recruiting & HR
Retail
Sales
Services
Science
Small Business & Entrepreneurship
Food
Environment
Economy & Finance
Data & Analytics
Investor Relations
Sports
Spiritual
News & Politics
Travel
Self Improvement
Real Estate
Entertainment & Humor
Health & Medicine
Devices & Hardware
Lifestyle
EN
Upload
Download free for 30 days
Sign in
UJ
Uploaded by
Uehara Junji
PDF, PPTX
13,938 views
Use JWT access-token on Grails REST API
It is easy to use JWT authentication token with Grails Spring Security REST plugin.
Technology
◦
Read more
4
Save
Share
Embed
Save to Drive
Download now
Download as PDF, PPTX
1
/ 17
2
/ 17
3
/ 17
4
/ 17
5
/ 17
6
/ 17
7
/ 17
8
/ 17
9
/ 17
10
/ 17
11
/ 17
12
/ 17
13
/ 17
14
/ 17
15
/ 17
16
/ 17
17
/ 17
More Related Content
PDF
Groovy Bootcamp 2015 by JGGUG
by
Uehara Junji
86 slides
3.4K views
PDF
Groovy Shell Scripting 2015
by
Uehara Junji
21 slides
2.1K views
PDF
Java開発の強力な相棒として今すぐ使えるGroovy
by
Yasuharu Nakano
144 slides
27.3K views
KEY
G* Workshop in fukuoka 20120901
by
Uehara Junji
66 slides
2.2K views
PDF
Introduce Groovy 2.3 trait
by
Uehara Junji
31 slides
7.7K views
PDF
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
104 slides
145.4K views
PDF
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
by
Yoshifumi Kawai
42 slides
125.7K views
PPTX
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
by
removed_96f4639f4009e61a478bf38f188e8404
18 slides
18.9K views
Groovy Bootcamp 2015 by JGGUG
by
Uehara Junji
86 slides
3.4K views
Groovy Shell Scripting 2015
by
Uehara Junji
21 slides
2.1K views
Java開発の強力な相棒として今すぐ使えるGroovy
by
Yasuharu Nakano
144 slides
27.3K views
G* Workshop in fukuoka 20120901
by
Uehara Junji
66 slides
2.2K views
Introduce Groovy 2.3 trait
by
Uehara Junji
31 slides
7.7K views
Java SE 9の紹介: モジュール・システムを中心に
by
Taku Miyakawa
104 slides
145.4K views
Metaprogramming Universe in C# - 実例に見るILからRoslynまでの活用例
by
Yoshifumi Kawai
42 slides
125.7K views
Retrofit2 &OkHttp でAndroidのHTTP通信が快適だにゃん
by
removed_96f4639f4009e61a478bf38f188e8404
18 slides
18.9K views
What's hot
PDF
インフラ自動化とHashicorp tools
by
Uchio Kondo
209 slides
11.3K views
PDF
Reactive Extensionsで非同期処理を簡単に
by
Yoshifumi Kawai
47 slides
15K views
PDF
linq.js - Linq to Objects for JavaScript
by
Yoshifumi Kawai
16 slides
11.9K views
PPTX
RLSを用いたマルチテナント実装 for Django
by
Takayuki Shimizukawa
49 slides
13.1K views
PDF
Quarkus による超音速な Spring アプリケーション開発
by
Chihiro Ito
40 slides
4.9K views
PDF
Head toward Java 16 (Night Seminar Edition)
by
Yuji Kubota
32 slides
553 views
PDF
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
by
Yoshifumi Kawai
64 slides
75.6K views
PDF
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
by
Yoshifumi Kawai
58 slides
68.3K views
PDF
Jjug 20140430 gradle_basic
by
Takuma Watabiki
35 slides
8.7K views
PPT
第4回勉強会 Groovyの文法からSpockまで
by
Mugen Fujii
34 slides
1.8K views
PDF
Synthesijer jjug 201504_01
by
Takefumi MIYOSHI
53 slides
7.8K views
PDF
Introduction to Spock
by
Takahiro Sugiura
90 slides
7.2K views
PDF
キメるClojure
by
Yoshitaka Kawashima
33 slides
7.9K views
PDF
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
by
Hironobu Isoda
30 slides
2.8K views
PDF
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
by
bitter_fox
63 slides
23.7K views
PDF
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
by
Toshiaki Maki
168 slides
35K views
PDF
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
67 slides
79.1K views
インフラ自動化とHashicorp tools
by
Uchio Kondo
209 slides
11.3K views
Reactive Extensionsで非同期処理を簡単に
by
Yoshifumi Kawai
47 slides
15K views
linq.js - Linq to Objects for JavaScript
by
Yoshifumi Kawai
16 slides
11.9K views
RLSを用いたマルチテナント実装 for Django
by
Takayuki Shimizukawa
49 slides
13.1K views
Quarkus による超音速な Spring アプリケーション開発
by
Chihiro Ito
40 slides
4.9K views
Head toward Java 16 (Night Seminar Edition)
by
Yuji Kubota
32 slides
553 views
Observable Everywhere - Rxの原則とUniRxにみるデータソースの見つけ方
by
Yoshifumi Kawai
64 slides
75.6K views
History & Practices for UniRx UniRxの歴史、或いは開発(中)タイトルの用例と落とし穴の回避法
by
Yoshifumi Kawai
58 slides
68.3K views
Jjug 20140430 gradle_basic
by
Takuma Watabiki
35 slides
8.7K views
第4回勉強会 Groovyの文法からSpockまで
by
Mugen Fujii
34 slides
1.8K views
Synthesijer jjug 201504_01
by
Takefumi MIYOSHI
53 slides
7.8K views
Introduction to Spock
by
Takahiro Sugiura
90 slides
7.2K views
キメるClojure
by
Yoshitaka Kawashima
33 slides
7.9K views
LogbackからLog4j 2への移行によるアプリケーションのスループット改善 ( JJUG CCC 2021 Fall )
by
Hironobu Isoda
30 slides
2.8K views
Introduction to JShell: the Java REPL Tool #jjug_ccc #ccc_ab4
by
bitter_fox
63 slides
23.7K views
Reactive Webアプリケーション - そしてSpring 5へ #jjug_ccc #ccc_ef3
by
Toshiaki Maki
168 slides
35K views
Javaのログ出力: 道具と考え方
by
Taku Miyakawa
67 slides
79.1K views
Viewers also liked
PDF
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
by
Uehara Junji
28 slides
3.2K views
PDF
enterprise grails challenge, 2013 Summer
by
Uehara Junji
29 slides
5K views
PDF
Shibuya JVM Groovy 20150418
by
Uehara Junji
41 slides
8.5K views
PDF
Read Groovy Compile process(Groovy Benkyoukai 2013)
by
Uehara Junji
35 slides
2.8K views
PDF
New features of Groovy 2.0 and 2.1
by
Uehara Junji
69 slides
2.2K views
PDF
Markup Template Engine introduced Groovy 2.3
by
Uehara Junji
21 slides
6.2K views
PDF
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
43 slides
37K views
Indy(Invokedynamic) and Bytecode DSL and Brainf*ck
by
Uehara Junji
28 slides
3.2K views
enterprise grails challenge, 2013 Summer
by
Uehara Junji
29 slides
5K views
Shibuya JVM Groovy 20150418
by
Uehara Junji
41 slides
8.5K views
Read Groovy Compile process(Groovy Benkyoukai 2013)
by
Uehara Junji
35 slides
2.8K views
New features of Groovy 2.0 and 2.1
by
Uehara Junji
69 slides
2.2K views
Markup Template Engine introduced Groovy 2.3
by
Uehara Junji
21 slides
6.2K views
何となく勉強した気分になれるパーサ入門
by
masayoshi takahashi
43 slides
37K views
Similar to Use JWT access-token on Grails REST API
PDF
Microservices /w Spring Security OAuth
by
Makoto Kakuta
48 slides
2.3K views
PDF
Spring bootでweb セキュリティ(ログイン認証)編
by
なべ
65 slides
33.1K views
PDF
OAuth2.0によるWeb APIの保護
by
Naohiro Fujie
60 slides
13.9K views
PPTX
Spring Security 4.1 の新機能
by
正和 井岡
14 slides
2.1K views
PPTX
Webアプリ開発実践tips共有会
by
tomo730
13 slides
456 views
PDF
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
by
Toshiaki Maki
51 slides
13.5K views
PDF
OAuth 2.0のResource Serverの作り方
by
Hitachi, Ltd. OSS Solution Center.
18 slides
1.9K views
PDF
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
by
Tatsuo Kudo
25 slides
3.2K views
PDF
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
by
CASAREAL, Inc.
51 slides
172 views
PDF
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
by
Amazon Web Services Japan
43 slides
13.1K views
PDF
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
by
Tatsuo Kudo
53 slides
13.6K views
PDF
API提供におけるOAuthの役割 #apijp
by
Tatsuo Kudo
39 slides
10.9K views
PPTX
2013.01.18 G*Workshop GGX 2012 Report
by
Yu Sudo
78 slides
1.9K views
PDF
Grails 2.0.0.M1の話
by
Tsuyoshi Yamamoto
74 slides
2.8K views
PPTX
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
by
Takeshi Hirosue
64 slides
15.3K views
PDF
OpenStack Study#9 JOSUG
by
Hideki Saito
27 slides
3.1K views
PDF
OAuth 2.0 MAC Authentication
by
Ryo Ito
27 slides
1.9K views
PDF
Apache Axis2におけるXML署名検証不備
by
JPCERT Coordination Center
34 slides
2.5K views
PPTX
NGINXでの認可について考える
by
Hitachi, Ltd. OSS Solution Center.
27 slides
876 views
PPTX
FAPI and beyond - よりよいセキュリティのために
by
Nat Sakimura
49 slides
2.2K views
Microservices /w Spring Security OAuth
by
Makoto Kakuta
48 slides
2.3K views
Spring bootでweb セキュリティ(ログイン認証)編
by
なべ
65 slides
33.1K views
OAuth2.0によるWeb APIの保護
by
Naohiro Fujie
60 slides
13.9K views
Spring Security 4.1 の新機能
by
正和 井岡
14 slides
2.1K views
Webアプリ開発実践tips共有会
by
tomo730
13 slides
456 views
どこよりも早い Spring Boot 1.2 解説 #渋谷Java
by
Toshiaki Maki
51 slides
13.5K views
OAuth 2.0のResource Serverの作り方
by
Hitachi, Ltd. OSS Solution Center.
18 slides
1.9K views
「金融API向けOAuth」にみるOAuthプロファイリングの実際 #secjaws #finsecjaws01 #oauth #oidc #api
by
Tatsuo Kudo
25 slides
3.2K views
株式会社カサレアル 山本による講演「認証・認可におけるKeycloakの活用」の資料
by
CASAREAL, Inc.
51 slides
172 views
AWS Black Belt Online Seminar 2017 AWSにおけるアプリ認証パターンのご紹介
by
Amazon Web Services Japan
43 slides
13.1K views
OAuth / OpenID Connectを中心とするAPIセキュリティについて #yuzawaws
by
Tatsuo Kudo
53 slides
13.6K views
API提供におけるOAuthの役割 #apijp
by
Tatsuo Kudo
39 slides
10.9K views
2013.01.18 G*Workshop GGX 2012 Report
by
Yu Sudo
78 slides
1.9K views
Grails 2.0.0.M1の話
by
Tsuyoshi Yamamoto
74 slides
2.8K views
Spring Fest 2017 「エンタープライズで利用するSpring Boot」#jsug #sf_h1
by
Takeshi Hirosue
64 slides
15.3K views
OpenStack Study#9 JOSUG
by
Hideki Saito
27 slides
3.1K views
OAuth 2.0 MAC Authentication
by
Ryo Ito
27 slides
1.9K views
Apache Axis2におけるXML署名検証不備
by
JPCERT Coordination Center
34 slides
2.5K views
NGINXでの認可について考える
by
Hitachi, Ltd. OSS Solution Center.
27 slides
876 views
FAPI and beyond - よりよいセキュリティのために
by
Nat Sakimura
49 slides
2.2K views
More from Uehara Junji
PDF
Groovy kisobenkyoukai20130309
by
Uehara Junji
35 slides
2K views
PDF
groovy 2.1.0 20130118
by
Uehara Junji
17 slides
3.5K views
PDF
New feature of Groovy2.0 G*Workshop
by
Uehara Junji
65 slides
5K views
KEY
JJUG CCC 2012 Real World Groovy/Grails
by
Uehara Junji
45 slides
7.9K views
KEY
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
by
Uehara Junji
22 slides
1.9K views
PDF
Java x Groovy: improve your java development life
by
Uehara Junji
77 slides
2.4K views
KEY
Groovy 1.8の新機能について
by
Uehara Junji
63 slides
4.5K views
PDF
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
by
Uehara Junji
29 slides
2.5K views
KEY
Jggug ws 15th LT 20110224
by
Uehara Junji
43 slides
1.7K views
PDF
Easy Going Groovy 2nd season on DevLOVE
by
Uehara Junji
96 slides
3K views
PDF
Easy Going Groovy(Groovyを気軽に使いこなそう)
by
Uehara Junji
86 slides
2K views
PDF
GroovyServ concept, how to use and outline.
by
Uehara Junji
23 slides
1.8K views
PDF
Clojure
by
Uehara Junji
16 slides
2.5K views
PDF
Groovy, Transforming Language
by
Uehara Junji
71 slides
2.7K views
KEY
Jggug Nagoya 20090925 Groovy
by
Uehara Junji
37 slides
1.2K views
PDF
Lisp Builder
by
Uehara Junji
23 slides
679 views
PDF
G*WS 3rd Lightning talk
by
Uehara Junji
11 slides
615 views
PDF
Groovy Now And Future
by
Uehara Junji
43 slides
1.6K views
PDF
Seasar Conference2008 Grails(Final)
by
Uehara Junji
54 slides
766 views
PPT
Groovy Conference2008 Nttsoft
by
Uehara Junji
14 slides
496 views
Groovy kisobenkyoukai20130309
by
Uehara Junji
35 slides
2K views
groovy 2.1.0 20130118
by
Uehara Junji
17 slides
3.5K views
New feature of Groovy2.0 G*Workshop
by
Uehara Junji
65 slides
5K views
JJUG CCC 2012 Real World Groovy/Grails
by
Uehara Junji
45 slides
7.9K views
Java One 2012 Tokyo JVM Lang. BOF(Groovy)
by
Uehara Junji
22 slides
1.9K views
Java x Groovy: improve your java development life
by
Uehara Junji
77 slides
2.4K views
Groovy 1.8の新機能について
by
Uehara Junji
63 slides
4.5K views
Let's go Developer 2011 sendai Let's go Java Developer (Programming Language ...
by
Uehara Junji
29 slides
2.5K views
Jggug ws 15th LT 20110224
by
Uehara Junji
43 slides
1.7K views
Easy Going Groovy 2nd season on DevLOVE
by
Uehara Junji
96 slides
3K views
Easy Going Groovy(Groovyを気軽に使いこなそう)
by
Uehara Junji
86 slides
2K views
GroovyServ concept, how to use and outline.
by
Uehara Junji
23 slides
1.8K views
Clojure
by
Uehara Junji
16 slides
2.5K views
Groovy, Transforming Language
by
Uehara Junji
71 slides
2.7K views
Jggug Nagoya 20090925 Groovy
by
Uehara Junji
37 slides
1.2K views
Lisp Builder
by
Uehara Junji
23 slides
679 views
G*WS 3rd Lightning talk
by
Uehara Junji
11 slides
615 views
Groovy Now And Future
by
Uehara Junji
43 slides
1.6K views
Seasar Conference2008 Grails(Final)
by
Uehara Junji
54 slides
766 views
Groovy Conference2008 Nttsoft
by
Uehara Junji
14 slides
496 views
Use JWT access-token on Grails REST API
1.
JWTトークン認証つきの Web APIを作るのは Grails+Spring Security REST
Pluginを使えば非常 に簡単である件 JGGUG G*WS LT大会 2016/05/13
2.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. 2 自己紹介 上原潤二(@uehaj) NTTソフトウェア(株)Grails推進室 JGGUG運営委員 書籍: プログラミングGROOVY(技評) Grails徹底入門(翔泳社) ブログ「Grな日々」
3.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. 3 Web APIの認証をどうする? • セッション・クッキー • トークンベース認証 ステートレス スケーラブル クロスドメイン 疎結合
4.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. 4 Web APIの認証をどうする? • セッション・クッキー • トークンベース認証 – 払い出し方式 – 電子署名方式 • OAuth2.0 アクセストークン • 上記の簡易版としてのJWTアクセストークン使用 簡単
5.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. 5 JWT(JSON Web Token) • Webアプリでclaimをうけわたすための仕様 (URL-safe) • OAuth2.0、OpenID Connectの要素技術 • 実体は電子署名+Base64されたJSON – Authorization: Bearer eyJhbGciOiJIUzI1…. • アクセストークンにも使用できる • 利点 – 払い出したトークン値の保存管理が不要 – オフライン検証、第三者による検証
6.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. Spring Security REST plugin JWTトークンによ るAPI認証をデ フォルトで提供
7.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. 以下の流れ •まずはRESTサーバを動かす •Spring Securityの設定 •アクセストークンを取得 •アクセストークンを使ってREST APIア クセス 7
8.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. まずはRESTサーバを動かす(1) $ grails create-app restapp3 | Application created at ../restapp3 $ cd restapp3 $ mkdir -p grails-app/domain/sample $ cat << EOT > grails-app/domain/sample/Book.groovy package sample import grails.rest.* @Resource class Book { String title int price } EOT 8
9.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. まずはRESTサーバを動かす(2) URLMapping grails-app/controllers/restapp3/UrlMappings.groovyに以 下を追加 package restapp3 : static mappings = { "/api/books"(resources:"book") 9
10.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. まずはRESTサーバを動かす(3) 動作確認 $ grails run-app $ curl http://localhost:8080/api/books.json [] $ curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"title":"title", "price":100}' http://localhost:8080/api/books.json {"class":"sample.Book","id":2,"price":100,"title":"title"} $ curl http://localhost:8080/api/books.json [{"class":"sample.Book","id":1,"price":100,"title":"title"} ] $ curl http://localhost:8080/api/books/1.json {"class":"sample.Book","id":1,"price":100,"title":"title"} 10
11.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. Spring Securityの設定(1) build.gradleのdependenciesに以下を設定 compile "org.grails.plugins:spring-security-core:3.0.3" compile "org.grails.plugins:spring-security- rest:2.0.0.M2“ 11
12.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. Spring Securityの設定(2) $ grails run-app $ grails s2-quickstart sample User Role $ cat grails-app/conf/BootStrap.groovy import sample.* class BootStrap { def init = { servletContext -> def adminRole = new Role('ROLE_ADMIN').save() def userRole = new Role('ROLE_USER').save() def testUser = new User('me', 'password').save() UserRole.create testUser, adminRole UserRole.withSession { it.flush(); it.clear() } assert User.count() == 1 assert Role.count() == 2 assert UserRole.count() == 1 } : 12 ユーザ・ロール情報 をDB登録
13.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. Spring Securityの設定(3) grails-app/conf/application.groovy に以下を追加 grails.plugin.springsecurity.userLookup.userDomainClassName = 'sample.User' grails.plugin.springsecurity.userLookup.authorityJoinClassName = 'sample.UserRole' grails.plugin.springsecurity.authority.className = 'sample.Role' grails.plugin.springsecurity.controllerAnnotations.staticRules = [[pattern:'/**', access:['ROLE_USER', 'ROLE_ADMIN']]] grails.plugin.springsecurity.filterChain.chainMap = [[ pattern: '/api/**', filters: 'JOINED_FILTERS,-anonymousAuthenticationFilter,- exceptionTranslationFilter,-authenticationProcessingFilter,- securityContextPersistenceFilter,-rememberMeAuthenticationFilter‘ ], [ pattern: '/**', filters: 'JOINED_FILTERS,-restTokenValidationFilter,- restExceptionTranslationFilter‘ ]] 13 APIを呼ぶ権限 その他の権限
14.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. アクセストークンを取得 $ curl -H "Accept: application/json" -H "Content-type: application/json" -X POST -d '{"username":"me", "password":"password"}' http://localhost:8080/api/login {"username":"me","roles":["ROLE_ADMIN"],"token_typ e":"Bearer","access_token":"eyJhbGciOiJIUzI1…","e xpires_in":3600,"refresh_token":"eyJhbGc…"} 14 認証エンドポイント アクセストークン (JWT) リフレッシュトークン (JWT)
15.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. アクセストークンを使ってREST API アクセス $ curl -H “Accept: application/json” -H “Content-type: application/json” -H “Authorization: Bearer eyJhbGciOiJIUzI1…." -X GET http://localhost:8080/api/books.json [{"id":1,"price":100,"title":"Book Title"}] 15
16.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. まとめ • GrailsでのREST API開発は超簡単 • JWT便利。メール認証などにも。 • トークン無効化が不要ならシンプル • トークン無効化するにはexpire期限を指定しリ フレッシュトークンで再発行 – http://stackoverflow.com/questions/196559 11/request-new-access-token-using- refresh-token-in-username-password-grant- in-sprin 16
17.
Copyright (C) 2016
NTT Software Corporation. All rights reserved. 参考リンク • Grails3対応のSpring Securty RESTドキュメント http://alvarosanchez.github.io/grails-spring-security- rest/latest/docs/ • Grails2対応のSpring Securty RESTドキュメント http://alvarosanchez.github.io/grails-spring-security- rest/1.5.3/docs/guide/index.html • Grails 3でWeb APIを簡単に作ろう! https://speakerdeck.com/yamkazu/grails-3deweb- apiwojian-dan-nizuo-rou 17