-
Notifications
You must be signed in to change notification settings - Fork 38
Discovery Service
Leif Johansson edited this page Dec 3, 2017
·
18 revisions
There are 3 ways to integrate with the discovery service in pyFF:
- Use the SAML identity provider discovery protocol.
- Use the jquery discovery widget and provide your own HTML
- Use the discovery service client and provide both your own HTML and javascript
Sample HTML:
<div id="ds"
data-href="sp entity id"
data-mdq="mdq server base URL"
data-store="pyff instance /storage URL"
data-search="pyff instance search URL"
data-list="an optional URL returning a list"
data-related="a hint domain"
data-inputfieldselector="#searchinput">
<div class="form-group">
<div class="input-group">
<input id="searchinput" class="form-control" type="search"/>
</div>
</div>
</div>
and then use this javascript
$(document).ready(function() {
$("#ds").discovery_client();
});
It is in fact trivial to implement your own SAML discovery service based on this HTML+js template. In order to use this on your own SP using the nightly.pyff.io instance you might include something like this:
<div id="ds"
data-href="sp entity id"
data-mdq="https://nightly.pyff.io"
data-store="https://nightly.pyff.io/storage/"
data-inputfieldselector="#searchinput">
<div class="form-group">
<div class="input-group">
<input id="searchinput" class="form-control" type="search"/>
</div>
</div>
</div>
The pyFF discovery service is a moving target. Here are some of the issues that will (have to be) addressed in the near future:
- refactor lowlevel ds-client from storage-oriented API to cross-domain API using krakenjs
- use websockets as fallback
- extend jquery widget to support more list mechanisms