OAuth Authentifizierung für einen WebService gegen einen externen Provider

  • OAuth Authentifizierung für einen WebService gegen einen externen Provider

    Hi Leute,

    da ich nirgends eine vernünftige Resource dazu gefunden habe und es auch nicht wirklich iOS spezifisch ist, schiebe ich es mal hier in den Smaltalk.

    Hintergrund ist folgendes:

    Ich habe einen WebService (auf Basis von Rails). User können sich hier per Twitter, Facebook und Co via OAuth authentifizieren.
    Webseitig ist das auch absolut garkein Problem.

    Was mir aber massiv Kopfzerbrechen bereitet: Wie kann ich eine iOS App Authentifizieren?

    Das würde ja so aussehen:

    OAuth Provider <-> WebApp <-> iOS App

    Hat sowas schonmal jemand gemacht und kann mir vll. weiter helfen?

    VG
    Pascal Turbo
    „When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.“
    – James Whitcomb Riley
  • Ich, öh, glaube schon. Dein Problem habe ich aber noch nicht ganz verstanden. Die iOS App müsste sich doch genau so authentifizieren können wie die WebApp?

    An welcher Stelle genau scheiterst Du?

    Alex (OAuth 1 und 2 Ninja)
    The only thing that really worried me was the ether.
  • Danke schonmal für die Rückmeldung :)

    below schrieb:

    An welcher Stelle genau scheiterst Du?


    Ich scheitere an der Verbindung zwischen iOS und der WebApp.
    Aus OAuth sicht sieht es ja so aus:

    Facebook wäre der Provider und die WebApp der Client.
    Wenn nun aber die iOS App auftaucht, dann ist diese auch ein Client.

    Aber wie soll ich einen Client mit einem anderen Client verbinden?

    Vll hab ich auch OAuth missverstanden?

    VG
    PascalTurbo
    „When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.“
    – James Whitcomb Riley
  • OAuth 1 oder 2?

    Der Weg ist doch der selbe (OAuth1): Du holst Dir ein Request Token, und das lässt Du dann per WebView bestätigen.

    OAuth2 ist noch einfacher.

    Das finde ich aber ohne Code und ohne Kenntnis der Systeme sehr schwierig zu beantworten.

    Alex

    P.S.: Wenn für Dich OAuth "Smalltalk" ist, dann hab ich Angst wenn Du mal richtige Fragen stellst ;)
    The only thing that really worried me was the ether.
  • :D - Bin ja absoluter OAuth Neuling ;)

    Der Authentication-Part existiert bisher vor allem in meinem Gehirn.

    Die WebApp stellt (vorerst) nur eine API bereit; die iOS App greift auf diese zu, stellt Daten dar und postet auch wieder neue Daten. Ziemlich basic und auch schnell implementiert.

    Wie die Authentifizierung ablaufen soll, bereitet mir aber schon seit geraumer Zeit Kopfzerbrechen. HTTP-Basic mag ich nicht; OAuth gegen Facebook Twitter und Co. ist eben angesagt.

    Würd da schon eher auf OAuth 2 setzen.

    Um's nochmal zusammen zu fassen:

    Die iOS - App authentifiziert sich gegen Facebook und erhält von dort ein access token. Dieses Access-Token + provider + uid geb ich dann weiter an die WebApp, die darauf hin ihre Tore öffnet.

    Wenn man's so auseinander nimmt klingt garnicht mehr so schlimm.

    Werd das mal implementieren und mich bei Problemen hier mit Konkretem Code zu Wort melden.

    Dankä!
    „When I see a bird that walks like a duck and swims like a duck and quacks like a duck, I call that bird a duck.“
    – James Whitcomb Riley