User Service provides applications and other services (henceforth "consumers") with:
User Service uses the following terminology:
The API supports the nGen Platform conventions:
All methods in the API require a bsgra_guid value appropriate to your consumer service be passed in as either an HTTP header named 'BSGRA_GUID' or as an HTML parameter name 'bsgra_guid'.
This resource handles Single-Sign-On(SSO) and Single-Log-Out (SLO)
<?xml version='1.0' encoding='UTF-8'?>
<samlp:AuthnRequest xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="5256BD37BC438FE781C0E0D862A6BF2FE6B1FF2427"
Version='2.0'
IssueInstant="2007-12-04T19:40:54Z"
ProtocolBinding="urn:oasis:names.tc:SAML:2.0:bindings:HTTP-Redirect"
ProviderName="localhost:3000"
AssertionConsumerServiceURL="http://www.kalivo.com/account/acs">
</samlp:AuthnRequest>
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="04CD1D20CC6CDBE71CAFED08406CB4E2BF77872C64" IssueInstant="2007-12-10T16:51:02Z" Version="2.0">An invalid SAML XML response body follows:
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>b5Nrptqa5oj2V8eKH8yZ8zbT3Bg=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>
QX6S3fGmpbSO3KfxY9mJQT7af/EUAdPA07ww156p2U9oGTrpsAZUHcHPC8OZyc0EU3MdUUETMAV71oTNLfPHhWVpD6z1k/iJLA5CEMCGmHYzh8dtnoL6g/lJ/cewYEXrf7ZQo/rYUrmI51CSoopG4rUXPt7pUmbCCPafr1V9yxY=</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>REE4NTREQ0QzRDBGMjhFNzU1MjY1NzM0RDA2NDQxNkNENkNFNjQ0NTE3RTA0
QkQ0MDYzMkQ2M0FGQzFGQTRFN0Y4QzA2OThBOUNCOTkwODNEMjEyQTkwRDMy
NjMzOTNBMzY5MDAyOUJDNzUxQTQ5M0I5RDcyQUU2MjJFRkNBQTk4MEM4RjA5
RjIzMzQxRDJDQUIzNDQ4N0I0MkQwQkQ3NDIxNkM2NTUxMzM2RkI5RERDQjhF
MDFDMDhFMTM4ODQ2MTVEQkRCNTQxMTNFNTEyQTAxOUNFOEQ1NTdEQkJGQjI3
ODUyRDJDNjM0QzAzQzY0OUY5RkEyRkQxNDJGMjgwOQ==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
</ds:Signature>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"></samlp:StatusCode>
</samlp:Status>
<Assertion xmlns="urn:oasis:names:tc:SAML:2.0:assertion" ID="833A46F68D5787087C0131EAA01542BBC56FD52868" IssueInstant="2003-04-17T00:46:02Z" Version="2.0">
<Issuer></Issuer>
<Subject>
<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">45038c42-a2d6-11dc-88e1-0019d1039198</NameID>
<SubjectConfirmation Method="urn:oasis:names:tc:SAML:2.0:cm:bearer"></SubjectConfirmation>
</Subject>
<Conditions NotBefore="2007-12-10T16:51:02Z" NotOnOrAfter="2007-12-17T16:51:02Z"></Conditions>
<AuthnStatement AuthnInstant="2007-12-10T16:51:02Z" SessionIndex="22d45caf13610fc9f2c44f249361a8a7">
<AuthnContext>
<AuthnContextClassRef>urn:oasis:names:tc:SAML:2.0:ac:classes:Password</AuthnContextClassRef>
</AuthnContext>
</AuthnStatement>
<AttributeStatement>
<Attribute>
<AttributeValue>
<user>
<banned>true</banned>
<created_at>2007-12-04T21:32:56-06:00</created_at>
<email>tech-support@kalivo.com</email>
<guid>45038c42-a2d6-11dc-88e1-0019d1039198</guid>
<updated_at>2007-12-09T15:30:04-06:00</updated_at>
<active_persona>
<company_name>Kalivo</company_name>
<created_at>2007-12-04T21:32:57-06:00</created_at>
<display_name>Kalivo Support</display_name>
<full_name></full_name>
<ip></ip>
<job_title></job_title>
<updated_at>2007-12-04T21:32:57-06:00</updated_at>
<uri>http://www.kalivo.com</uri>
</active_persona>
</user>
</AttributeValue>
</Attribute>
</AttributeStatement>
</Assertion>
</samlp:Response>
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol" ID="A37632061F57E704A474B43B4F0BD446DE3DD34F04" IssueInstant="2007-12-13T13:18:57Z" Version="2.0">
<ds:Signature xmlns:ds="http://www.w3.org/2000/09/xmldsig#">
<ds:SignedInfo>
<ds:CanonicalizationMethod Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:CanonicalizationMethod>
<ds:SignatureMethod Algorithm="http://www.w3.org/2000/09/xmldsig#rsa-sha1"></ds:SignatureMethod>
<ds:Reference URI="">
<ds:Transforms>
<ds:Transform Algorithm="http://www.w3.org/2000/09/xmldsig#enveloped-signature"></ds:Transform>
<ds:Transform Algorithm="http://www.w3.org/TR/2001/REC-xml-c14n-20010315"></ds:Transform>
</ds:Transforms>
<ds:DigestMethod Algorithm="http://www.w3.org/2000/09/xmldsig#sha1"></ds:DigestMethod>
<ds:DigestValue>qKxBT+JuEBR9Q/StJwnewXhsnoI=</ds:DigestValue>
</ds:Reference>
</ds:SignedInfo>
<ds:SignatureValue>QZWbYo1D9Ej3MNHFW4NZsYq4kJ8zuSep03q9m1uEb4HjmjZjfAChg8KeIK9T
FLKaFP+K5fPzlYfQeBEBhCa8MbNJ8sT58P87uzIQodxgKKPKahB8su3XiczN
BWCXp4g5zZ/7plzHZeID0kPYS+I5vs+bpP9hAZIiXqVF73yKXuY=
</ds:SignatureValue>
<ds:KeyInfo>
<ds:KeyValue>
<ds:RSAKeyValue>
<ds:Modulus>REE4NTREQ0QzRDBGMjhFNzU1MjY1NzM0RDA2NDQxNkNENkNFNjQ0NTE3RTA0
QkQ0MDYzMkQ2M0FGQzFGQTRFN0Y4QzA2OThBOUNCOTkwODNEMjEyQTkwRDMy
NjMzOTNBMzY5MDAyOUJDNzUxQTQ5M0I5RDcyQUU2MjJFRkNBQTk4MEM4RjA5
RjIzMzQxRDJDQUIzNDQ4N0I0MkQwQkQ3NDIxNkM2NTUxMzM2RkI5RERDQjhF
MDFDMDhFMTM4ODQ2MTVEQkRCNTQxMTNFNTEyQTAxOUNFOEQ1NTdEQkJGQjI3
ODUyRDJDNjM0QzAzQzY0OUY5RkEyRkQxNDJGMjgwOQ==
</ds:Modulus>
<ds:Exponent>AQAB</ds:Exponent>
</ds:RSAKeyValue>
</ds:KeyValue>
</ds:KeyInfo>
</ds:Signature>
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:AuthnFailed"></samlp:StatusCode>
</samlp:Status>
</samlp:Response>
<samlp:LogoutRequest
xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="5256BD37BC438FE781C0E0D862A6BF2FE6B1FF2427" Version="2.0"
IssueInstant="2007-12-04T19:40:54Z">
<Issuer xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion">
http://idp.com
</Issuer>
<NameID Format="urn:oasis:names:tc:SAML:2.0:nameid-format:persistent">
27213a00-ab4e-11dc-b05d-0019b9788c02
</NameID>
<samlp:SessionIndex xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol">
527a5a7f5c9fde59757447a6890aa174
</samlp:SessionIndex>
</samlp:LogoutRequest>
???
User data (profile/personas) resource.
<?xml version="1.0" encoding="UTF-8"?>
<user>
<active_persona>
<company_name>Kalivo</company_name>
<display_name>Mike Roeder</display_name>
<full_name>Mike Roeder</full_name>
<job_title>Professional Wrestler</job_title>
</active_persona>
</user>
<?xml version="1.0" encoding="UTF-8"?>
<user>
<created_at>2007-10-30T12:22:23-05:00</created_at>
<email>mike@roeder.com</email>
<guid>bd583a30-870c-11dc-b10e-7a79056e579e</guid>
<updated_at>2007-10-30T12:22:23-05:00</updated_at>
<active_persona>
<company_name>Kalivo</company_name>
<created_at>2007-10-30T12:22:23-05:00</created_at>
<display_name>Mike Roeder</display_name>
<full_name></full_name>
<ip></ip>
<job_title></job_title>
<updated_at>2007-10-30T12:22:23-05:00</updated_at>
<uri>http://www.kalivo.com</uri>
</active_persona>
</user>
<?xml version="1.0" encoding="UTF-8"?>
<SignupRequest ID="[[ID]]"
Version="1.0"
IssueInstant="[[ISSUE_INSTANT]]"
ProviderName="[[DOMAIN]]"
AssertionConsumerServiceURL="[[ACS_URL]]"
RequiredFields="[[REQUIRED_FIELDS]]"
OptionalAdditionalFields="[[OPTIONAL_ADDITIONAL_FIELDS]]"
RequiredAdditionalFields="[[REQUIRED_ADDITIONAL_FIELDS]]"
PublicAdditionalFields="[[PUBLIC_ADDITIONAL_FIELDS]]">
</SignupRequest>
<?xml version="1.0" encoding="UTF-8"?>
<ProfileRequest ID="[[ID]]"
Version="1.0"
IssueInstant="[[ISSUE_INSTANT]]"
ProviderName="[[DOMAIN]]"
AssertionConsumerServiceURL="[[ACS_URL]]"
RequiredFields="[[REQUIRED_FIELDS]]"
OptionalAdditionalFields="[[OPTIONAL_ADDITIONAL_FIELDS]]"
RequiredAdditionalFields="[[REQUIRED_ADDITIONAL_FIELDS]]"
PublicAdditionalFields="[[PUBLIC_ADDITIONAL_FIELDS]]">
</ProfileRequest>
<?xml version="1.0" encoding="UTF-8"?>Note that you can pass any arbitrary user attributes to the users.xml resource and they will be stored. However, email, password and display_name are required.
<user>
<salt>8b75c8ca42a99fce66f1cb6b6a9b7837bae79cee</salt>
<last_login_at>2006-08-10T17:03:44-05:00</last_login_at>
<job_title></job_title>
<uri>http://www.kalivo.com</uri>
<updated_at>2006-06-12T20:15:45-05:00</updated_at>
<is_banned>false</is_banned>
<activated_at>2006-05-31T02:34:42-05:00</activated_at>
<guid>52b6bd50-897c-11dc-8517-0019b9788c02</guid>
<crypted_password>91dada54971e43614a12208af18992f2248c3aeb</crypted_password>
<company_name>Kalivo, Inc.</company_name>
<yahoo_name></yahoo_name>
<previous_last_login_at>2006-06-12T15:54:50-05:00</previous_last_login_at>
<num_of_logins>4</num_of_logins>
<activation_code></activation_code>
<rank>Member</rank>
<password_reset_code></password_reset_code>
<id>2</id>
<immutable>false</immutable>
<ip></ip>
<has_avatar>false</has_avatar>
<display_name>Brittain</display_name>
<full_name></full_name>
<deletable>true</deletable>
<email>scott_brittain@hotmail.com</email>
<password>test</password>
<created_at>2006-05-30T21:34:40-05:00</created_at>
</user>
User resource for resetting a user password.
<password_reset_code>abcdefg123456789</password_reset_code>
User resource for activating a new user. After a user is created, they must be activated before they can be logged in.
email=arahim@ngenera.com
<activation_code>abcdef123456789</activation_code>
This resource is for batch uploading users.
<Root>
<EmployeeInfo>
<FirstName>JOHN</FirstName>
<LastName>SMITH</LastName>
<Manager>FRANKLIN, ROBERT</Manager>
</EmployeeInfo>
<EmployeeInfo>
<FirstName>PETER</FirstName>
<LastName>SMITH</LastName>
<Manager>GOLDBERG, SIMON</Manager>
</EmployeeInfo>
</Root>
<results>
<message>Error Message (repeating, if any)</message>
<success># of successful imports</success>
<fail># of failed imports</fail>
</results>