Project

General

Profile

Bug #5315

Problemer med login via (ældre) iPad

Added by Gitte Barlach 19 days ago. Updated 9 days ago.

Status:
Reviewed
Priority:
High
Assignee:
Target version:
Estimated time:
URL med eksempel:
Kategorier:
Min konto - Login/Adgang og proxy

Description

Nogle biblioteker får henvendelse fra brugere med (ældre) iPads, der ikke kan logge ind. Der er lidt forskellige variationer:

 

a) aakb.dk - bruger med iPad har version 12.5.4 kan ikke logge ind; ingen nærmere oplysninger (endnu) i sagen

b) aakb.dk - bruger med iPad A1416 fra 2012 kan ikke logge ind, men redirectes fejlagtigt til https://www.aakb.dk/?message=logout med http statuskode 302; den rammer /?singlelogout=true
Samme bruger kan imidlertid godt logge ind med samme device på andre kommuners DDB CMS sites

c) holstebrobibliotek.dk (måske også genbib.dk) -  bruger med iPad Air med iOS 12.5.5 redirectes fejlagtigt til /user 
er denne fejl mon opstået ifm rel. 34? (men hvorfor?) i al fald er der ikke tegn på i statistikken at nogen brugere med iOS 12.5.5 herefter er logget ind. 


Files


Related issues

Related to DDB CMS - Bug #5127: Cookies: Samesite-attributResolved (tag version)Gitte BarlachActions
#1

Updated by Gitte Barlach 19 days ago

  • Description updated (diff)
#2

Updated by Tue Gaston 19 days ago

  • Related to Bug #5127: Cookies: Samesite-attribut added
#3

Updated by Tue Gaston 19 days ago

Copy-pastet fra facebook-tråd om emnet:

Jeg kan genskabe det på en gammel iPad med iOS 12.5.5. Det kan skyldes ændringen i https://platform.dandigbib.org/issues/5127

Den secure session cookie, der sættes ved klik på "Log ind", har SameSite=None, når jeg faker user agent til at ligne iOS 12, men iOS 12 håndterer ikke SameSite korrekt. Når jeg gør det samme på et site, der endnu ikke er opgraderet, sættes SameSite ikke, og login virker derfor med iOS 12.

I release 34 er "Enable legacy browser workaround" aktiv som default under /admin/config/system/samesite, men SameSite sættes alligevel for den nævnte cookie, når browseren præsenterer sig som iOS 12.

Skrevet af Rasmus Bruun fra DBC: https://www.facebook.com/groups/ddbcms/posts/1629658550542461?comment_id=1629900547184928

#4

Updated by Gitte Barlach 18 days ago

aakb.dk er endnu ikke opgraderet til re. 34; dermed er a) og b) ikke nødvendigvis relateret til #5127

Første prioritet i denne sag må være at få kigget på c) , der har sammenhæng med rel. 34

#5

Updated by Rasmus Bruun 18 days ago

@Gitte:

aakb.dk sætter også SameSite=none på session cookien ved klik på "Log ind" med User Agent = iOS 12.5.5:
Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1

Det samme gælder Gentofte, Allerød og Billund, som er opgraderet til release 34.
Glostrup, Lejre og Vallensbæk er ikke opgraderet endnu. Hos dem sættes SameSite ikke ved UA = iOS 12.5.5, men SameSite=None sættes ved UA = iOS 13 og andre nyere browsere.

#6

Updated by Gitte Barlach 18 days ago

  • Status changed from Needs prioritization to Ready for development
  • Assignee changed from Ninna Rasmussen to Kasper Garnæs
  • Priority changed from Normal to High
#7

Updated by Lotte Tøstesen 17 days ago

Vi har i Roskilde lige haft en tilfælde med en ældre iPad. Her er de oplysninger jeg har fået:

Model iPad Air

MD 793KN/A

IOS 12.5.5.

#8

Updated by Lotte Tøstesen 17 days ago

Og én til på model A1474.

#9

Updated by Kasper Garnæs 17 days ago

  • Status changed from Ready for development to Needs code review
  • Assignee changed from Kasper Garnæs to Gitte Barlach

PR: https://github.com/ding2/ding2/pull/1852

Bemærk at ovenstående arbejder ud fra en antagelse om at problemet er opstået som en del af release 34 pga. #5127.

Problemet var ikke let at finde og rettelsen er heller ikke triviel at teste.

Jeg har gjort følgende:

  1. Sæt user agent i din browser til iOS 12 fx. "iOS 12.5.5: Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1". Dette kan fx. gøres i Firefox ved at starte developer tools, aktivere responsive design mode, aktivere show user agent og herefter manuelt indsætte ovenstående værdi i feltet.
  2. Gå til Ding2 sitet i samme browser
  3. Skift til visning af netværkstrafik for browseren
  4. Log ind en vilkårlig bruger (det behøver ikke være en låner)
  5. Se detaljer for det request/response som blev udført umiddebart efter login. Den cookie som bliver sat igennem en header her må ikke have nogen SameSite attribut

Processen kan efterfølgende gentages uden emulering ved at lukke responsive design mode. Her skal SameSite for session cookien være sat til none.

Jeg har lavet et screencast af processen her: https://drive.google.com/file/d/1qeof-Bm9pJ8q9hfcu6ZB1IKRDrkFcI3B/view?usp=sharing

Tilsvarende burde kunne gøres i andre browsere omend disse sikkert har andre måder at sætte en custom user agent og se cookie headers i svar.

#10

Updated by Kasper Garnæs 17 days ago

Hvis der skulle være behov for at rulle rettelsen ud som en patch så bemærk at dette heller ikke er trivielt. Ændringen er i sig selv en patch til et tredjepartsmodul som indgår som en del af systemet. Derudover kræver ændringen at databaseopdateringer køres på hvert site (drush updb).

#11

Updated by Gitte Barlach 16 days ago

  • Assignee changed from Gitte Barlach to Jesper Kristensen
#12

Updated by Jesper Kristensen 16 days ago

  • Status changed from Needs code review to Reviewed
  • Assignee changed from Jesper Kristensen to Gitte Barlach

Approved

#13

Updated by Gitte Barlach 16 days ago

Vi er i dialog med DBC ift. at få vurderet om rettelsen kan patches på, eller om der er væsentlige forhold der gør, at den skal ud via en ny release. 

#15

Updated by Gitte Barlach 11 days ago

Tester denne på upgrade-fbs, som er migreret til den modificerede platform, hvilket indebærer at updb har været kørt og cachen er blevet clearet. 

#16

Updated by Gitte Barlach 11 days ago

Har fulgt opskriften til test, dvs. 
- sat user agent i min browser til i"iOS 12.5.5: Mozilla/5.0 (iPad; CPU OS 12_5_5 like Mac OS X) AppleWebKit/605.1.15 (KHTML, like Gecko) Version/12.1.2 Mobile/15E148 Safari/604.1"
- logget ind som admin
- kigget på cookies under applikation
- verificeret at den cookie som starter med SESS ikke har en værdi i SameSite.
(se vedlagte skærmdump)

 

#17

Updated by Gitte Barlach 11 days ago

I øvrigt er her en god oversigt over Same site cookies og browserkompabilitet:
https://developer.mozilla.org/en-US/docs/Web/HTTP/Headers/Set-Cookie/SameSite

 

#18

Updated by Gitte Barlach 11 days ago

Rettelsen ser ud til at virke efter hensigten. Det videre forløb ift. udrulning til bibliotekerne skal nu afklares med DBC. 

#19

Updated by Gitte Barlach 9 days ago

Lige et par præciseringer:
- Patchen er rettet mod samesite_cookie_modulet som først kom med 6.4.x, dvs. release 34
- selvom aakb.dk lider af den samme fejl men endnu ikke er opgraderet til rel. 33, viser test hos "rene" release 33 biblioteker (hhv. lyngby-taarbaek.ddbcms.dk og 
vallensbaek.ddbcms.dk som er redaktørbiblioteker) at fejlen ikke eksisterer dér. (se vedlagte skærmdump)

Also available in: Atom PDF