OSDash server authentication is here!

Goce and Sean have set up the server for OSDash, as you all know. If you want an account on it, PM myself or Goce or Optikalfx (Sean) to request it.

In addition, there has been a need for a user ID access and authentication so that services are informed of the appropriate settings for each user. Sean came up with a solution for this problem and sent me an email about it. Here's what he says.

Basically how it works, a developer will include a server.php file I've made. And they have access to a Class called OSdash. You construct that class with your mp3car username, password, api key, and application key. From that, a session is created on success so we know the user was successfully authenticated.

Right. But this gives us the username/id stuff we need for those services.

We talked about maybe doing a gps location service as a simple one but I think that Matt noted we might need username/id to do that, so we can have the user set whether it is anonymous or shared or whatever.

Originally Posted by ghettocruzer

I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.

Looking into this a bit more, this is a great big step in the right direction, however, I have a few concerns. Is it possible to make server.php a restful service? or perhaps create a php-based restful service that does the same thing as the test app but exposes a restful service instead of a form? The reason for this, is that we don't want to force the use of a single web language, ie, php.

I'm also unclear as to the difference between an App key and an API key. I assume that the App key is for any client to use when authenticating. But what about the API key?

I'm glad that we've taken this step so we can talk about it more and get this going. Communication is a huge barrier in dealing with distributed projects. Hopefully we can pull Goce and Sean into the forum channels and improve communication a bit. We need to know who is doing what and how so that there is no overlap and so we maintain a fluid direction.

Moving forward, here are the parts we seem to need for login/authentication/sessions:

1 - mp3car user account auth (which is this)
2 - a login web service that talks with this and handles a session similarly to the login service proposal by justchat.
3 - providing 1 and 2 work, we need the client to pass the user credentials, and app key (and api key?) to the login web service that will pass it on to the user account auth

I'm a little fuzzy on the interaction points, so please correct me. Matt has something going for the login web service. We need to get him and Goce/Sean together to work out how the interaction will work and make it happen. Then I can get with Matt and talk about how it'll work on the client side.

Former author of LinuxICE, nghost, nobdy.
Current author of Automotive Message Broker (AMB).
Works on Tizen IVI. Does not represent anyone or anything but himself.

I'll take responsibility for trying to get these requirements drafts in place (not just the server but also the client) and keeping them up to date. That will allow us to reference actual documentation that we can point to that will let us mesh these things together.

As for the REST question - if I understand RESTful services (and I don't think I really do), you would want to access something like http://www.osdash.org/clientlogin.html by supplying the API key, app key, username and passwor. Then, if that authenticates, you would be returned some sort of "active" state (not sure how that works). [Edit: Okay, I see. Something like an xml file comes back, which is why we need to define an OSDash data standard.]

Then, if you wanted to do other stuff like use a user's gps web service you might ask the server whether a user has a gps service like so http://www.osdash.org/ServicesActive.html and would receive a list of services the user has turned 'on' from the web interface. And maybe http://www.osdash.org/ServicesActive/gps.html would return all of the information you need to interact with the gps service? And all further interaction with the gps service (like reporting the lat/long) would take place between the client and the gps service, correct?

Is that how it works? As near as I can tell, it is sort of like traversing a set of links to different pages.

Originally Posted by ghettocruzer

I was gung ho on building a PC [until] just recently. However, between my new phone having internet and GPS and all...and this kit...Im starting to have trouble justfiying it haha.

Communication is a huge barrier in dealing with distributed projects. Hopefully we can pull Goce and Sean into the forum channels and improve communication a bit. We need to know who is doing what and how so that there is no overlap and so we maintain a fluid direction.

Lets just use the forum to start, i can set up another forum if you like for discussion. If we use google wave, we are just creating another thing to check and for us at mp3Car, this will become a hassle. Anyone can participate in the conversation here and be added to the conversation here on the forums. With Google Wave, you need to get access.

If there is some type of plugin we can add to the forums, we are happy to do it.

Mp3Car is putting real man hours into this, rather than other projects, and making an investment. I am not a huge fan of email and the amount of chatter Google Wave creates/allows for.