[sldev] Capabilities URLs

Ryan Williams rdw at lindenlab.com
Thu Sep 6 14:45:29 PDT 2007


Rob Lanphier wrote:
> On 9/1/07 5:51 PM, Dale Glass wrote:
>   
>> On Sunday 02 September 2007 02:31:20 Harold Brown wrote:
>>   
>>     
>>> The cap URLS I posted do not require authentication, and as such appear
>>> to be static at the moment
>>>     
>>>       
>> Ok, that's good to know, thanks :-)
>>
>> Then the list only shows the ones that require authentication and you have 
>> permission to use?
>>
>> If so, where is the list of services that anybody can use?
>>   
>>     
>
> This thread spawned a long thread about what we should and shouldn't be
> encouraging on this front.  To summarize:
>
> *  We have two classes of cap.secondlife.com URLs:   One used by the web
> team for the reg API and the APIs in Harold's message.  The other used
> by the simulator for giving viewers access to various functions.
>   
Sorry, Rob, I believe that this is incorrect.  Our two cap classes are:
  - cap.secondlife.com
  - simFOO.agni.lindenlab.com:12043

Cap.secondlife.com caps appears to be used for two purposes:
  - sort of a temporary/hacky way to implement web apis.  In this case 
the cap url is basically a way for the webdev team to muck with 
accessing internal data structures without going to the trouble of 
implementing a nice url structure.  These should eventually be migrated 
to clean urls that are not https.
  - reg api participants.  The reg api participant is given a set of 
capability urls that are intended for its use only, since each cap is 
authentication-included.   Authentication-included means that anyone 
getting ahold of the cap url can act on behalf of the participant to 
whom the cap was granted!  These caps should all be invoked over https 
to hide the url from sniffers.  If you have one of these urls, you would 
know it.

simFOO caps are for viewer<->sim communication, and are granted for the 
duration that a viewer has a connection to a simulator.  They are also 
https.
> *  The two classes of caps URLs are visually indistinguishable.  Yes, we
> know that's a problem.
>
>   
The two cap.secondlife.com usages are indeed impossible to distinguish, 
but basically the rule with a cap is, if you know it, you can use it.  
There should be no deeper decision-making process on this side of the 
equation.  Cap.secondlife.com capabilities tend to be fairly long-lived, 
but not infinitely long-lived, and they can be revoked at any time, so 
you cannot rely on them as a stable API.

The decision-making process about whether to share a cap url that you 
have should hinge on what the cap does, and how it was granted to you, 
and whether you want other people to do the same things that you can do 
with it.  In the case of caps in the map api, apparently some Linden 
made the decision that they can be public, because the information that 
they grant access to is public, and they don't grant any ability to 
change any internal data structures.   In the case of reg api caps, you 
would definitely not want to share them, because a person holding one of 
your caps can do things in your name!

You will be able to distinguish caps to a simulator, since they don't go 
to cap.secondlife.com.  It's unlikely that you'd really come across one 
of these by accident, but you similarly do not want to share them.

> Much love to whoever finds a home for this information on the wiki (and
> actually posts it).
>
>   
True!

-RYaN


More information about the SLDev mailing list