New Project on Codeplex

by Todd on June 21, 2010

An early version of the initial profile provider has been uploaded to Codeplex. This is what we hope will be the first of many implementations.

This is a very early release. It is primarily serving as a protocol test bed right now. As the protocol nears completion, we will begin running it as a live profile provider.

This provider is comprised of two main pieces. The first piece is a WCF web service and the second is an ASP.NET MVC 2 web app. They are both written in C# on .NET 4.0. We would like to port this to Mono when time permits.

The system requires PostgreSQL 8.4 and uses a database abstraction framework called Mnemo. This framework currently only supports Postgres, though it will eventually support multiple databases. This requires, among other things, writing new templates for the code generator.

A final set of components are back-end services. These are written as Windows services and function like daemons. The first service is responsible for message handling. There will eventually be others for handling status streams, etc.

There is very little documentation right now, primarily in the interest of development speed. Please contact us if you have any questions.

{ 0 comments }

Friend Invites

by Todd on June 20, 2010

The initial version of the friend invite and accept protocol is complete. It has undergone five revisions but we’ve finally settled on a version that works well with OAuth 2.0.

One of the challenges in working with the OAuth 2 protocol is that it has been designed with large services in mind. When a third party wants to interact with users on such a service, they first need to register with the service to get a client ID and client secret. This, then, becomes their identity when dealing with the service and its users.

The difficulty with OC is that it’s a distributed system. If profile A is on one provider and they want to add a friend (profile B) on another provider, these two providers have to interact with each other. Not only do the providers have to cooperate, but their users will be using OAuth 2  to invite friends and accept or decline friend invites. This means that each provider has to have a client ID/secret issued by the other provider.

This is the interaction that the friend invite portion of the OC protocol facilitates. Once the client IDs and secrets are exchanged, then the normal OAuth 2 mechanism is used to invite and accept.

We’ll be publishing the details of the protocol, along with sequence diagrams, etc. to help illustrate it once we’re a little further along.

{ 0 comments }

Open Connections Introduction

May 9, 2010

Open Connections (OConn) is a way of connecting profiles in an open and secure fashion. The goals of the project are to develop a REST protocol that will be submitted to a standards body and to develop an open source implementation of that protocol. OConn itself is built around open standards such as OAuth and [...]

Read the full article →