Slide 1

Slide 1 text

Linkey Presented by @alexbilbie #jiscaim #linkey Tuesday, 16 October 12

Slide 2

Slide 2 text

@alexbilbie Tuesday, 16 October 12

Slide 3

Slide 3 text

Developer at @unilincoln Tuesday, 16 October 12

Slide 4

Slide 4 text

Member of @lncd Tuesday, 16 October 12

Slide 5

Slide 5 text

— whiskey + Japanese food Tuesday, 16 October 12

Slide 6

Slide 6 text

#PHP #CodeIgniter #LinkedData #Git #Jenkins #Automation #OAuth #REST #APIs #HTML5 Tuesday, 16 October 12

Slide 7

Slide 7 text

Linkey Tuesday, 16 October 12

Slide 8

Slide 8 text

(Lin-key) Tuesday, 16 October 12

Slide 9

Slide 9 text

#JISCAIM12 Tuesday, 16 October 12

Slide 10

Slide 10 text

06/12 thru 06/13 Tuesday, 16 October 12

Slide 11

Slide 11 text

linkey.blogs.lincoln.ac.uk Tuesday, 16 October 12

Slide 12

Slide 12 text

@lncd — APIs Tuesday, 16 October 12

Slide 13

Slide 13 text

Total ReCal #JISCRI10 totalrecal.blogs.lincoln.ac.uk Tuesday, 16 October 12

Slide 14

Slide 14 text

OAuth 101 Tuesday, 16 October 12

Slide 15

Slide 15 text

CatsPlayingPianos.com Tuesday, 16 October 12

Slide 16

Slide 16 text

u: alexbilbie p: password Tuesday, 16 October 12

Slide 17

Slide 17 text

u: alexbilbie p: password ⁇ Tuesday, 16 October 12

Slide 18

Slide 18 text

— Tuesday, 16 October 12

Slide 19

Slide 19 text

u: alexbilbie p: password Tuesday, 16 October 12

Slide 20

Slide 20 text

code=1234567890 Tuesday, 16 October 12

Slide 21

Slide 21 text

code=1234567890 client_id=catsplayingpianos client_secret=foobar Tuesday, 16 October 12

Slide 22

Slide 22 text

access_token=dumdedum Tuesday, 16 October 12

Slide 23

Slide 23 text

access_token=dumdedum Tuesday, 16 October 12

Slide 24

Slide 24 text

user_firstname=alex user_lastname=bilbie ... Tuesday, 16 October 12

Slide 25

Slide 25 text

— ˛ owns tweets accesses authorises Tuesday, 16 October 12

Slide 26

Slide 26 text

CodeIgniter OAuth 2.0 server github.com/alexbilbie Tuesday, 16 October 12

Slide 27

Slide 27 text

@lncd — APIs + OAuth 2.0 Tuesday, 16 October 12

Slide 28

Slide 28 text

Jerome.blogs.lincoln.ac.uk Orbital.blogs.lincoln.ac.uk CourseData.blogs.lincoln.ac.uk Bebop.blogs.lincoln.ac.uk DIVERSE.blogs.lincoln.ac.uk Tuesday, 16 October 12

Slide 29

Slide 29 text

OAuth SSO Tuesday, 16 October 12

Slide 30

Slide 30 text

@unilincoln Born: ~2001* * current iteration Tuesday, 16 October 12

Slide 31

Slide 31 text

Tuesday, 16 October 12

Slide 32

Slide 32 text

Tuesday, 16 October 12

Slide 33

Slide 33 text

Backend = SELECT this, that, and, that FROM this INNER JOIN that ON this = what JOIN foo ON bar = omg WHERE something = “wtf” AND foobar <> that AND bleugh IN (‘yaba’, ‘daba’, ‘doo’) GROUP BY this ORDER BY that ASC ORDER BY and RAND(); Tuesday, 16 October 12

Slide 34

Slide 34 text

Frontend = Tuesday, 16 October 12

Slide 35

Slide 35 text

Service XYZ Username Password Login Tuesday, 16 October 12

Slide 36

Slide 36 text

Service ABC Email address Password Sign in Forgot password? Tuesday, 16 October 12

Slide 37

Slide 37 text

Another Service Other ID Pin number Enter Need help? Tuesday, 16 October 12

Slide 38

Slide 38 text

=) Tuesday, 16 October 12

Slide 39

Slide 39 text

#@£$%!!! Tuesday, 16 October 12

Slide 40

Slide 40 text

@unilincoln_ict — Microsoft Forefront UAG (version Home Premium Platinum Xeon Enterprise Service Pack 3a Professional 2010) Tuesday, 16 October 12

Slide 41

Slide 41 text

UAG + OAuth proprietary open Tuesday, 16 October 12

Slide 42

Slide 42 text

UAG + OAuth = web single sign on Tuesday, 16 October 12

Slide 43

Slide 43 text

UAG + OAuth = consistent UX Tuesday, 16 October 12

Slide 44

Slide 44 text

UAG + OAuth = rapid deployment Tuesday, 16 October 12

Slide 45

Slide 45 text

3 stages of consistency Tuesday, 16 October 12

Slide 46

Slide 46 text

1. All services use active directory + LDAP Tuesday, 16 October 12

Slide 47

Slide 47 text

2. All web-based applications have a consistent looking sign-in screen Tuesday, 16 October 12

Slide 48

Slide 48 text

3. All new systems must talk OAuth / ADFS / SAML Tuesday, 16 October 12

Slide 49

Slide 49 text

Linkey’s outputs Tuesday, 16 October 12

Slide 50

Slide 50 text

1. Case study Tuesday, 16 October 12

Slide 51

Slide 51 text

2. Code Tuesday, 16 October 12

Slide 52

Slide 52 text

3. OAuth + APIs workshop Tuesday, 16 October 12

Slide 53

Slide 53 text

4. Conference/ journal paper Tuesday, 16 October 12

Slide 54

Slide 54 text

Code Tuesday, 16 October 12

Slide 55

Slide 55 text

OAuth 2.0 1. Authentication server 2. Resource server 3. Provider single sign-on Tuesday, 16 October 12

Slide 56

Slide 56 text

'foobar', 'clientSecret' => 'foobar', 'redirectUri' => 'http://localhost/login' ]); if ( ! isset($_GET['code'])) { $provider->authorize(); // Go to Facebook and sign in } else { $token = $provider->getAccessToken($_GET['code']); // Get the access token $user_details = $provider->getUserDetails($token); // Get the user’s details echo '

Hello, ' . $user_details['name'] . '!

'; // Boom } Tuesday, 16 October 12

Slide 57

Slide 57 text

Blooie Facebook Foursquare Github Google Instagram Mailchimp Mailru Paypal Soundcloud Vkontakte Windows Live Yandex University of Lincoln Tuesday, 16 October 12

Slide 58

Slide 58 text

github.com/lncd/OAuth2 Tuesday, 16 October 12

Slide 59

Slide 59 text

Fin Tuesday, 16 October 12

Slide 60

Slide 60 text

Any questions? @alexbilbie [email protected] Tuesday, 16 October 12