Slide 1

Slide 1 text

Let’s talk about OAuth2 and PKCE in Go LINE Developer Relations Evan Lin 2021.06

Slide 2

Slide 2 text

Evan Lin • LINE Tech Event Organizer • Community Organizer • GDE, Love Golang LINE Technology Evangelist

Slide 3

Slide 3 text

Agenda •OAuth2 and OpenID •How to implement LINE Login in Go •Issue in OAuth2 •Introducing PKCE •How to implement PKCE in Go (LINE Login) •Summary

Slide 4

Slide 4 text

Building a online services / store

Slide 5

Slide 5 text

OpenID Login Registration https://developers.line.biz/en/docs/line-login/web/integrate-line-login/

Slide 6

Slide 6 text

LINE Login Process • SDK https://github.com/kkdai/line-login-sdk-go • Web starter https://github.com/kkdai/line-login-go • Demo site: https://login-tester-evan.herokuapp.com/

Slide 7

Slide 7 text

LINE Login Process

Slide 8

Slide 8 text

Access LINE Login AUTH URL • SDK https://github.com/kkdai/line-login-sdk-go • Web starter https://github.com/kkdai/line-login-go • Demo site: https://login-tester-evan.herokuapp.com/

Slide 9

Slide 9 text

Profile: Access token to call Get Profile API

Slide 10

Slide 10 text

OpenID: Get JWT User Info directly

Slide 11

Slide 11 text

Decode JWT OpenID data • SDK https://github.com/kkdai/line-login-sdk-go

Slide 12

Slide 12 text

Issue in OAuth2 https://datatracker.ietf.org/doc/html/rfc7636

Slide 13

Slide 13 text

PKCE (Proof Key for Code Exchange) • Google RFC since 2015 (RFC 7636) • Also in Google API https://developers.google.com/identity/p rotocols/oauth2/native-app#exchange- authorization-code

Slide 14

Slide 14 text

PKCE (Proof Key for Code Exchange)

Slide 15

Slide 15 text

PKCE (Proof Key for Code Exchange)

Slide 16

Slide 16 text

LINE Login PKCE Process • SDK https://github.com/kkdai/line-login-sdk-go • Web starter https://github.com/kkdai/line-login-pkce-go • Demo site: https://line-login-pkce.herokuapp.com/

Slide 17

Slide 17 text

All GitHub Resources • LINE Login SDK https://github.com/kkdai/line-login-sdk-go • LINE Login Web starter • https://github.com/kkdai/line-login-go • Demo site: https://login-tester-evan.herokuapp.com/ • LINE Login with PKCE Web Starter • https://github.com/kkdai/line-login-pkce-go • Demo site: https://line-login-pkce.herokuapp.com/

Slide 18

Slide 18 text

Summary •Introducing OAuth2 work flow •Introducing PKCE and how it works •Introducing LINE Login related packages in Go (mine) •Feel free to ”star” or “pull request”.

Slide 19

Slide 19 text

No content