Re: [mmox] where is identity @ in all this?
Christian Scholz <cs@comlounge.net> Sat, 21 February 2009 17:00 UTC
Return-Path: <cs@comlounge.net>
X-Original-To: mmox@core3.amsl.com
Delivered-To: mmox@core3.amsl.com
Received: from localhost (localhost [127.0.0.1]) by core3.amsl.com (Postfix) with ESMTP id 059CC3A693E for <mmox@core3.amsl.com>; Sat, 21 Feb 2009 09:00:37 -0800 (PST)
X-Virus-Scanned: amavisd-new at amsl.com
X-Spam-Flag: NO
X-Spam-Score: -1.919
X-Spam-Level:
X-Spam-Status: No, score=-1.919 tagged_above=-999 required=5 tests=[AWL=0.080, BAYES_00=-2.599, J_CHICKENPOX_36=0.6]
Received: from mail.ietf.org ([64.170.98.32]) by localhost (core3.amsl.com [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id ulXi4gQ7ixr9 for <mmox@core3.amsl.com>; Sat, 21 Feb 2009 09:00:35 -0800 (PST)
Received: from post.comlounge.net (post.comlounge.net [85.214.59.142]) by core3.amsl.com (Postfix) with ESMTP id 3405D3A68F0 for <mmox@ietf.org>; Sat, 21 Feb 2009 09:00:35 -0800 (PST)
Received: from localhost (localhost [127.0.0.1]) by post.comlounge.net (Postfix) with ESMTP id A05E06F405A; Sat, 21 Feb 2009 18:00:49 +0100 (CET)
Received: from post.comlounge.net ([127.0.0.1]) by localhost (h1346004.stratoserver.net [127.0.0.1]) (amavisd-new, port 10024) with ESMTP id hTLY-b+gvh0Y; Sat, 21 Feb 2009 18:00:48 +0100 (CET)
Received: from [192.168.178.34] (pD9EBF278.dip.t-dialin.net [217.235.242.120]) by post.comlounge.net (Postfix) with ESMTP id 9CF6B1CE0001; Sat, 21 Feb 2009 18:00:46 +0100 (CET)
Message-ID: <49A0333B.2050407@comlounge.net>
Date: Sat, 21 Feb 2009 18:00:43 +0100
From: Christian Scholz <cs@comlounge.net>
User-Agent: Thunderbird 2.0.0.19 (Macintosh/20081209)
MIME-Version: 1.0
To: "Hurliman, John" <john.hurliman@intel.com>
References: <1E40CE05-15D1-4970-9B0F-CD4AD11A074A@lindenlab.com> <62BFE5680C037E4DA0B0A08946C0933D501FDC38@rrsmsx506.amr.corp.intel.com> <499C5415.7060400@cox.net> <62BFE5680C037E4DA0B0A08946C0933D501FE124@rrsmsx506.amr.corp.intel.com> <2bd5b7f10902181356l64dd8366n2b5e57ef4242ae0f@mail.gmail.com> <676211.48955.qm@web82608.mail.mud.yahoo.com> <499CA916.1090008@gmail.com> <488F29D4-F071-4725-B1B6-FFC17C220F8D@duke.edu> <62BFE5680C037E4DA0B0A08946C0933D501FE800@rrsmsx506.amr.corp.intel.com> <499DE5A4.50705@comlounge.net> <62BFE5680C037E4DA0B0A08946C0933D502630AC@rrsmsx506.amr.corp.intel.com>
In-Reply-To: <62BFE5680C037E4DA0B0A08946C0933D502630AC@rrsmsx506.amr.corp.intel.com>
X-Enigmail-Version: 0.95.7
Content-Type: text/plain; charset="ISO-8859-1"
Content-Transfer-Encoding: 7bit
Cc: "mmox@ietf.org" <mmox@ietf.org>
Subject: Re: [mmox] where is identity @ in all this?
X-BeenThere: mmox@ietf.org
X-Mailman-Version: 2.1.9
Precedence: list
List-Id: Massively Multi-participant Online Games and Applications <mmox.ietf.org>
List-Unsubscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=unsubscribe>
List-Archive: <http://www.ietf.org/mail-archive/web/mmox>
List-Post: <mailto:mmox@ietf.org>
List-Help: <mailto:mmox-request@ietf.org?subject=help>
List-Subscribe: <https://www.ietf.org/mailman/listinfo/mmox>, <mailto:mmox-request@ietf.org?subject=subscribe>
X-List-Received-Date: Sat, 21 Feb 2009 17:00:37 -0000
Hurliman, John wrote: >> -----Original Message----- From: Christian Scholz >> [mailto:cs@comlounge.net] Sent: Thursday, February 19, 2009 3:05 PM >> To: Hurliman, John Cc: mmox@ietf.org Subject: Re: [mmox] where is >> identity @ in all this? >> >> Hurliman, John schrieb: >>> That is the identity proposal I'm working on. OpenID + OpenID >>> Token >> Exchange* + OpenID Attribute Exchange == VW Identity Service. >>> * OAuth was specifically designed for a three legged scenario, >>> and >> when you start adding in more services such as content, messaging, >> voice, etc. it no longer becomes feasible. OpenID Token Exchange >> solves this problem nicely though. >> >> Can you elaborate what the specific problem with OAuth is? Is it >> that you'd need to authorize each and every service as a user? (the >> same problem is coming up on the web as well though if you think >> about data in all sorts of places you might want to give somebody >> access to) >> > > OAuth seems to be solving a different problem. OAuth is great for > putting identity+authorization into a token, but in many cases (at > least in the virtual world scenario) your identity provider and the > authorization provider for a resource are two separate domains. What > is needed is a way to pass around identity in a token, which is what > the OpenID Token Exchange protocol does. The fact that every > authorized token request in OAuth flows through the end user is great > for authorization requests and the use cases it was designed for, but > makes it a non starter for providing a temporary identity-only token > between services. In my understanding OAuth[1] is actually meant to just do authorization, not authentication and is invented for the case that your identity provider and authorization provider is in fact not the same service. It basically lets service A access resources of service B on behalf of the user without requiring a password. And looking now at the OpenID Token exchange[2] isn't this actually binding the token to the OpenID provider? I wonder what happens if that provider does not support this extension (and my guess is that only few do)? I agree that OAuth has it's issues in that it requires user interaction to authorize each access. But this also seems to come up now in the discussion about the twitter API now being changed to do OAuth only[3] and maybe this can be brought up in the OAuth list as well. Maybe this can also be some sort of extension to OAuth. If available the auth step can be automatic, if not the client needs to open up some web browser. Whatever we use in the end though I think it's important to keep whatever provides tokens separate from the OpenID provider (actually I'd suggest to keep everything except the authentication step away from it). > The use case I've drawn up for virtual worlds involves a user, an > identity provider, a content provider, and a world simulator (doesn't > matter how many separate services this is, assume a single trust > domain for now). The user tells the world simulator that it has an > identity at http://identityprovider.com/user which initiates the > OpenID authentication sequence. Logging into a world simulator is > implicitly giving it access to a minimum set of your profile > information on the identity provider and appearance data on the > content provider. This is facilitated with an identity token request > from the world simulator to the identity service, and that token is > passed to the content service. The content service can then confirm > the validity of the token and grant access to a minimum set of > content. Ok, I see the point here in that it would be possible then to at least cerate whitelist or blacklists instead of making this public in the first place. The main problem is again though to be able to automatically grant access to certain resources. This means that there maybe needs to be a way to identify resources (like "a limited set of my profile") and some way to exchange tokens. Maybe also 2-legged OAuth can help here (see [4] and [5]). With 2-legged OAuth you don't need to ask the user for permission. All what is done is that the pre-shared API key is checked. This way you might be able to do whitelisting/blacklisting as well. That being said, I haven't though in detail about all this as time was a bit limited recently. I hope to spend some time soon thinking and implementing examples though (and discussing it of course). > OAuth definitely has wider adoption than OpenID Token Exchange, and > if you see a way to make this scenario work with OAuth (without too > many contortions) please let me know. I will and maybe we can also find some solution together. I would suggest though that if we cannot find a way to make this work with OAuth we better use some extra service to check the token (if that's possible) in order to not rely on features not deployed widely. >> And what are you planning to use Attribute Exchange (AX) for? We >> discussed using this in the DataPortability Group a while back for >> storing the URL to your service catalogue that way but the problem >> was a bit lack of adoption. I also tried to do some tests with >> myopenid but it seemed that I couldn't store new fields. >> >> If it's for profile retrieval the OpenSocial REST API is IMHO a >> better fit as it's a) easier to implement and b) more discussed and >> already adopted by e.g. myspace (and yahoo is talking about it). >> > > I doubt any identity provider will let you start storing arbitrary > data on their server. My understanding of AX is that identity > providers can map their existing identity+profile information to well > recognized AX fields and provide whatever information they have. > Avatars will likely require unique fields, such as the URL of > appearance data. If OpenSocial provides a better or better adopted > way of doing that then it's worth investigation. It might also mean > that it's premature to standardize on one or the other. That seems to > leave the options: 1) leave attribute retrieval out of scope (doesn't > do much to solve interoperability), 2) make up our own standard based > on LLSD/LLIDL (makes the situation even worse, and goes against the > proposed goals of the draft MMOX charter), or 3) support multiple > implementations (increases the complexity of the spec, and creates > excess cruft once one of the competing proposals dies out). I doubt the same ;-) But note that your OpenID provider does not necessarily be your primary source for profile information. But I agree that OpenSocial does not have all necessary data available and in fact it should be more extensible in it's nature. Right now it really seems like the sum of all possible fields of all the social network providers involved in the effort. As for AX IMHO it's bound again a bit too much to the OpenID provider and maybe also means that cannot support other means of authentication. I also actually think that e.g. the appearance URL should not be coming from your profile but a separate service catalogue (e.g. based on XRDS) which lists things like your profile URL, your special VW related services and all other possible services. Using such a catalogue would also enable us to be flexible in what services to support for various tasks. You could even list multiple services with priorities and the client can check what is supported for each VW. That all being said it's probably all too early to discuss in all that detail as we first need to have that charter. But the topic definitely is a hot one not only in the MMOX context but also the web context in general. [1] http://oauth.net [2] http://dev.aol.com/OpenidTokenExchange [3] https://twitter.pbwiki.com/oauth-desktop-discussion [4] http://sites.google.com/site/oauthgoog/2leggedoauth/2opensocialrestapi [5] http://groups.google.com/group/oauth-extensions/browse_thread/thread/d46f4775d25e0c9d -- Christian Scholz Homepage: http://comlounge.net COM.lounge blog: http://mrtopf.de/blog Luetticher Strasse 10 Skype: HerrTopf 52064 Aachen Video Blog: http://comlounge.tv Tel: +49 241 400 730 0 E-Mail cs@comlounge.net Fax: +49 241 979 00 850 IRC: MrTopf, Tao_T neuer Podcast: Der OpenWeb-Podcast (http://openweb-podcast.de) new podcast: Data Without Borders (http://datawithoutborders.net)
- [mmox] The Story So Far... Mark Lentczner
- Re: [mmox] The Story So Far... Hurliman, John
- Re: [mmox] The Story So Far... Meadhbh Hamrick (Infinity)
- Re: [mmox] The Story So Far... Gareth Nelson
- Re: [mmox] The Story So Far... Hurliman, John
- Re: [mmox] The Story So Far... Charles Krinke
- Re: [mmox] The Story So Far... Christian Scholz
- Re: [mmox] The Story So Far... Gareth Nelson
- Re: [mmox] The Story So Far... Meadhbh Hamrick (Infinity)
- Re: [mmox] The Story So Far... Hurliman, John
- Re: [mmox] The Story So Far... Meadhbh Hamrick (Infinity)
- Re: [mmox] The Story So Far... Christian Scholz
- Re: [mmox] The Story So Far... Hurliman, John
- Re: [mmox] The Story So Far... Christian Scholz
- Re: [mmox] The Story So Far... Gareth Nelson
- Re: [mmox] The Story So Far... Kajikawa Jeremy
- Re: [mmox] The Story So Far... Charles Krinke
- Re: [mmox] The Story So Far... Lawson English
- Re: [mmox] The Story So Far... Lawson English
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] The Story So Far... Suzy Deffeyes
- Re: [mmox] The Story So Far... Charles Krinke
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] The Story So Far... Hurliman, John
- Re: [mmox] The Story So Far... Dan Olivares
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] The Story So Far... Dan Olivares
- Re: [mmox] The Story So Far... Lawson English
- Re: [mmox] The Story So Far... Jesrad
- Re: [mmox] The Story So Far... Kajikawa Jeremy
- Re: [mmox] The Story So Far... Jesrad
- Re: [mmox] The Story So Far... Hurliman, John
- [mmox] where is identity @ in all this? Mark P. McCahill
- Re: [mmox] where is identity @ in all this? Hurliman, John
- Re: [mmox] where is identity @ in all this? Charles Krinke
- Re: [mmox] where is identity @ in all this? Hurliman, John
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] The Story So Far... Jon Watte
- Re: [mmox] where is identity @ in all this? Christian Scholz
- Re: [mmox] where is identity @ in all this? Jesrad
- Re: [mmox] where is identity @ in all this? Christian Scholz
- Re: [mmox] where is identity @ in all this? Kajikawa Jeremy
- Re: [mmox] where is identity @ in all this? Hurliman, John
- Re: [mmox] where is identity @ in all this? Gareth Nelson
- Re: [mmox] where is identity @ in all this? Lawson English
- Re: [mmox] where is identity @ in all this? Meadhbh Hamrick (Infinity)
- Re: [mmox] where is identity @ in all this? Christian Scholz