У меня есть веб-приложение Java. Я хочу реализовать вход SAML Single-Sign-On для своего приложения. У меня есть эта программа GitHub onelogin для отправки запроса и получения ответа. Но это не работало должным образом. Я создал там один аккаунт. Но у меня нет корпоративной учетной записи. Когда я запускаю приложение, оно переходит на страницу onelogin. Я попытался войти в систему, но он ничего не возвращает в ответ, показывая, что у меня нет разрешения. Если я также предоставлю неправильные учетные данные, он не даст никакого ответа SAML.
Поэтому я решил создать утверждение и подписать его.
- Нужно ли сначала отправить запрос SAML любому поставщику удостоверений?
- Как создать образец утверждения SAML вместо перехода к IdP (Как это нормально?)
- Когда я получу ответ SAML, как мне подписать его в своем приложении и продолжить?
Спасибо
ОБНОВЛЕНИЕ 1
<?xml version="1.0" encoding="UTF-8"?>
<samlp:Response xmlns:samlp="urn:oasis:names:tc:SAML:2.0:protocol"
ID="123" InResponseTo="abc" IssueInstant="2014-11-21T17:13:42.872Z"
Version="2.0">
<samlp:Status>
<samlp:StatusCode Value="urn:oasis:names:tc:SAML:2.0:status:Success"/>
</samlp:Status>
<saml:Assertion xmlns:saml="urn:oasis:names:tc:SAML:2.0:assertion" Version="2.0">
<saml:Subject>
<saml:NameID Format="urn:oasis:names:tc:SAML:1.1:nameid-format:emailAddress">
[email protected]
</saml:NameID>
</saml:Subject>
<saml:AuthnStatement AuthnInstant="2014-11-21T17:13:42.899Z">
<saml:AuthnContext>
<saml:AuthnContextClassRef>
urn:oasis:names:tc:SAML:2.0:ac:classes:PasswordProtectedTransport
</saml:AuthnContextClassRef>
</saml:AuthnContext>
</saml:AuthnStatement>
</saml:Assertion>
</samlp:Response>