Tag Archives: social

Äventyr i molnet – del 4

Posted on by

Jag ber om ursäkt för det långa uppehållet sedan förra delen. Förklaringen stavas Valle. Valle är en hund, närmare bestämt en Lagotto Romagnolo. Valle är nu snart ett år gammal, så nu har jag “fritid” igen. Wohoo!

Denna gång skall det handla om något som så gott som alla webappar behöver, nämligen användarhantering och autenticering.

Handen på hjärtat, visst vore det skönt att kunna plugga in en färdig användarhantering, och kunna låta folk logga in med sina redan existerande Facebook/Google/Windows Live/Twitter/whatever-konton?

Om svaret är ja, läs vidare!

OpenID

Det finns en standard för tredjepartsautenticering som heter OpenID, som så gott som alla stora sociala nätverk stödjer.

Problemet med OpenID är att det är ganska pilligt att få på plats, och det är inte helt uppebart för en användare hur han skall logga in med sitt OpenID.

Ett annat problem är att alla sociala nätverk har olika API:er för att hämta användardatat, efter att själva autenticeringen är klar.

Du måste dessutom bygga själva logindialogen själv. Detta är inte speciellt svårt, men ändock ett jobb.

Här kommer Janrain till din räddning!

Janrain

Janrain är en mäklare för tredjepartsautenticering.

De säger själva att de erbjuder användarhantering som en Software-as-a-Service (SaaS).

Janrain erbjuder ett uniformt API för att accessa de olika sociala nätverk som de stödjer. Det är dock vissa skillnader på vilka data om en användare som de olika nätverken lämnar ut. Till exempel så lämnar LinkedIn inte ut epostadresser, vilket åtminstone Google, Facebook och Windows Live gör.

Med Janrain är det lätt att lägga till användarhantering. Det går i princip till så här:

  1. Registrera din app på janrain.com. Du kan logga in med vilket som helst av dina sociala konton (Janrain äter sin egen hundmat!)
  2. Ange vilka sociala nätverk du vill använda för autenticering.
  3. Kör en wizard på Janrain som genererar en snutt Javascript som du kopierar in till din webbsida, omedelbart före .
  4. Wizarden genererar också en kodsnutt för HTML-länken Logga in…
  5. Implementera en callbackrutin som anropas av Janrain när en användare har autenticerat sig. URL:en till denna callbackrutin bestämmer du själv, och du anger den i wizarden i steg 3.
  6. Callbackrutinen anropas av Janrain med en HTTP POST som har en enda parameter, token. Denna token använder du tillsammans med den applikationsidentitet som du fick i steg 1 för att anropa ett Janrain API för att hämta användarinfon. API:et är en vanlig HTTP POST, som returnerar användardatat antingen i XML- eller JSON-format.

Klart!

Nu har du en komplett användarhantering, och dina användare kan direkt logga in och börja använda din sajt.

Klick på loginlänken öppnar en dialogbox som automatgenereras av Janrain-scriptet. I denna dialog kan användaren välja vilket nätverk han vill logga in på din sajt med.

I användardatat du får tillbaka från Janrain ingår en globalt unik OpenID-identitet. Denna kan du använda som nyckel för de applikationsspecifika användardata du vill spara i din egen databas. Du behöver inte lagra själva användardatat (namn, epostadress och så), för det får du ju serverat på nytt varje gång någon loggar in till din sajt.

Vill du stödja ett nätverk till? Logga in på janrain.com och ändra i kontrollpanelen för din app. (I många fall måste du dessutom registrera din Janrain-app hos nätverket i fråga.)

På janrain.com har din app en egen kontrollpanel där du kan se statistik på inloggningarna. Troligen inte det första du skulle bygga om du byggde användarhanteringen själv.

Funktioner för registering, glömt lösenord med mera finns ju redan på de olika sociala nätverken, så det slipper du också bygga.

Så sammantaget får du en komplett användarhantering på några timmar!

Så vad kostar det?

Det här låter för bra för att vara sant, det måste finnas en hake. Det kostar säkert skjortan?

Janrain kör med principen första silen gratis, dvs det är kostnadsfritt upp till 2500 unika användare och 6 st sociala nätverk.

För 100 USD/år kan du ha 5000 unika användare, och 12 sociala nätverk. Då får du dessutom tillgång till mer användardata än i gratisvarianten.

Räcker inte detta finns ytterligare en variant, men prislappen på denna är inte publicerad.

(Om det går så bra så att du får fler än 5000 unika användare är det bara att gratulera! Du har säkert råd med nästa nivå…)

Detta har hänt i sommar

Posted on by

För er som inte knarkar tekniknyheter lika okontrollerat som jag gör har jag nöjet att få summera de senaste 5-6 veckorna inom områdena Java, Ajax, Scrum och annat av intresse. Tro mig, jag har gallrat stenhårt.

  • JUnit 4.4 släpptes nyligen. Nyheterna var inte speciellt upphetsande.
  • En av mina favoritbloggare, Cederic Beust, har skrivit om dynamiska och statiska språk. Inte mycket text, men mycket intressant. Väl värt ett par minuter.
  • Av någon anledning är kodformattering mig nära hjärtat, så det var med visst nöje jag noterade att Slashdot hade en tråd om detta i somras. David Herron har bloggat i samma domäner, vilket är kul, även om han verkar ha snott titeln på sitt inlägg från mig.
  • Medlemmar från Ajax-ramverket Dojo har skrivit en artikel med namnet "Why Dojo", som jag tror alla som står i valet och kvalet att välja Ajax-ramverk nog bör läsa. Dojos event-modell är väldigt cool, och tydligen har den blivit extra bra i senaste 0.9 versionen av Dojo.
  • En annan Ajax-artikel med namnet "Write scalable Comet applications with Jetty and Direct Web Remoting" borde intressera alla som försöker välja Comet-ramverk. Go DWR Go!
  • ThoughtWorks har släppt en "agile project management software" med namnet Mingle. Vet inget mer om detta, men Henrik kanske känner sig manad?
  • Matt Raible har summerat "Open Source Web Frameworks’ Mailing List Traffic – June 2007", dvs hur mycket trafik är det på de olika ramverkenas mailinglistor. Ganska intressant, om man försöker avgöra vartåt det blåser. Till min stora glädje ligger Wicket bra till, Liksom GWT, men mest trafik har Ruby on Rails, vad man nu kan dra för slutsatser av det?
  • W3C funderar på att inte låta HTML 4 övergå till XHTML, eftersom de verkar vilja göra en femte version av HTML. Vad ska man tro om det?
  • Specifikationen för Java EE 6 har släppts. Troligen kommer de första implementationerna först i början av 2009.
  • Jag försöker hålla ett öga på vad som skrivs om Scala, då jag fått intrycket att det kanske är ett bra språk för framtidens multi-core processorer, så artikeln "Is Scala the new Groovy" kunde jag naturligtvis inte undvika. Sedan finns det de som tror att Terracotta är rätt väg att skriva multi-core applikationer i Java, så "Hello Terracotta" kanske är rätt ställe att börja?
  • Vill man läsa mer om JavaScrips framtid så kan man läsa här. Daniel?
  • För oss anhängare av Google Calendar är nog artikeln "Black belt scheduling with Google Calendar" oundviklig.
  • Vad kommer efter social networking? Själv har jag inte en aning, eftersom jag känner mig helt bakom flötet när det gäller Facebook, YouTube, MySpace, Twitter, etc etc etc.

Privat har jag varit en vecka i Småland, 4 veckor i Thailand, samt en vecka i Västerbotten, där jag och mina två söner besteg fjället Jengegietje, 1477 meter över havet, i lysande väder. Shorts och T-tröja räckte på toppen!