Hi all,

I'm looking at adding Basic LTI provider support to uPortal. I already have the 
portlet going which means uPortal is a Basic LTI consumer, but I'd like to get 
the reciprocal happening, to make it a provider. This will allow us to use the 
uPortal portlets in other environments.

Basic LTI is essentially a standard way of integrating applications. Think of a 
POST request that contains a bunch of parameters, with a timestamp and then it 
is hashed. It's then sent off to some endpoint at the other application. This 
is a widely used approach amongst integrating LMS's but it's never been 
standardised until now.

With Basic LTI, the parameter names are standardised and the request is signed 
via OAuth. Signing the request adds a number of security measures like a nonce, 
timestamp and SHA1 hash of the parameters. There is also a shared key and 
secret that identifies each consumer (the part making the request) and the 
secret is also used in signing the request. The receiving end checks the 
request hasn't been tampered with and if all good, trusts the data in the 
request and then does it's part. 

In it's simplest form, the provider simply processes the data, sets up a 
session for the user if required and constructs a URL to the requested 
resource. It then performs a redirect to that URL. The consumer makes this 
request in the context of the browser and an iframe so that whatever session is 
setup is in the browser already, and whatever is rendered on the other end can 
be viewed directly in the other app.

Tn this case, the provider will be uPortal and will be providing direct access 
to the portlets. There is a screenshot here of it going the other way around, 
ie tools from other apps being rendered in uPortal: 
https://wiki.jasig.org/display/PLT/Sakai+connector+portlet


I have a couple of questions before I begin:

1. I'll need to be able to log a user in given only their userId, ie no 
password. Is there a way to do this?
2. To do 1 I'll no doubt need access to the uPortal API's, I assume it's ok to 
just add these to my app?
3. How different is the 3.2 API to the 3.3 API?
4. I'll need to construct a direct URL to a given portlet. I read this: 
https://wiki.jasig.org/display/UPC/Consistent+Portal+URLs - is that the latest 
doc? And for uP 3.3?
5. Can the portlets be rendered without any of the portal container markup 
around them? I want to be able to render just the portlet in my external app.

thanks,
Steve

p.s. originally sent to uportal-user by mistake, sending to uportal-dev.
-- 
You are currently subscribed to [email protected] as: 
[email protected]
To unsubscribe, change settings or access archives, see 
http://www.ja-sig.org/wiki/display/JSG/uportal-dev

Reply via email to