Slik løser du nesten alle problemer / problemer med Roku TV på bare tre trinn - Roku fungerer ikke, start oppdateringen på nytt

Jeg bruker (ab) for øyeblikket et oauth2-sluttpunkt for en API for å gjøre det mulig for brukere av APIen å logge inn på nettstedet mitt (ved hjelp av response_type=code). jeg gjør ikke lagre oppdateringstokener eller til og med access_token ettersom det oauth2-endepunktet ikke støtter omfang, og jeg vil minimere farene ved stjålne kontoer.

Oauth2-endepunktet viderekobler vellykket til min auth-side (PHP) hvis brukeren allerede har gitt min client_id permissions og er allerede logget på via den tjenesten. Dette vil skje uten brukerinteraksjon. Auth-siden min vil angi noen sesjonsvariabler og omdirigere til riktig side.

Siden økten til serveren min kan utløpe når brukeren nettopp opprettet mye data og vil lagre den (via AJAX). Jeg vil automatisk autentisere brukeren på nytt via oauth2-leverandøren (i tilfelle økten der fortsatt er i live) uten å sende ham på en rekke viderekoblinger.

Dermed er ideen:

  • Hvis en bruker som er en gang logget inn, må autentiseres på nytt, oppretter jeg et bilde med et onload/onerror lytter som peker på autent-endepunktet mitt.
  • Authent-endepunktet mitt vil da omdirigere til oauth2-endepunktet, som igjen omdirigerer tilbake til auth-nettstedet mitt hvis brukeren allerede har gitt tillatelsene.
  • Authent-endepunktet mitt oppdaterer økten og returnerer et enkelt pikselbilde hvis godkjenningen var vellykket. Ellers ikke.
  • Hvis den image.onload hendelsesbranner på klientsiden og image width * height == 1 brukeren blir godkjent på nytt.
  • Hvis den onerror hendelsesbranner eller width*height are != 0 brukerinteraksjon er nødvendig.

Er det noen potensielle problemer jeg kan ha savnet, og / eller eksisterer dette mønsteret?

Så vidt jeg ser på denne måten vil vi generere en forespørsel til oauth2-endepunktet hvis brukerøkten hos oauth2-leverandøren er utløpt / tillatelsen ble tilbakekalt. På den annen side, hvis brukeren fremdeles er autentisert, trenger vi ingen ekstra forespørsler + brukeren trenger ikke å laste inn alle CSS + JS i oauth2-endepunktet.

  • Har du vurdert å bruke OpenID Connect. I det minste gir det deg ledetekst = ingen som i det vesentlige er rask gratis godkjenning
  • @KcDoD det er i utgangspunktet det jeg har for øyeblikket hvis brukeren allerede har gitt appen min tillatelse. Dermed ideen om å bruke et bilde for å autentisere i bakgrunnen.
  • Kan du gi noen ytterligere detaljer om teknologibakken din? Spesielt hva er i frontenden, hva er på bakenden, og hvilke av disse trinnene skjer der? Hvem opprettholder en økt, og hvilken (e) utløper? Hvor oppdager du at en "en gang logget inn bruker må godkjennes på nytt", og hvordan? Det er ikke klart for meg hvorfor et bilde trenger å være involvert. Hvorfor oppfyller ikke en vanlig serie viderekoblinger brukssaken din?
  • @MikePatrick oppdaterte spørsmålet, men det er sent for meg, vær så snill hvis noe forblir uklart. Jeg vil oppdatere spørsmålet ordentlig i morgen. | Kort sagt: javascript samhandler via ajax med Php rest API; Oauth2-endepunktet brukes til å autentisere på min resten API; Økten til resten av api utløper, noe jeg ser når brukeren prøver å lagre data
  • Kan du oppgi flere detaljer om teknologibakken din? Hvor oppdager du at en "en gang logget inn bruker må godkjennes på nytt

fungert for deg: Charles Robertson | Ønsker du å kontakte oss?

nyttig informasjon