Reputation: 1059
We are planning to build our own SAML IDP. I have a few questions:
Upvotes: 4
Views: 3371
Reputation: 4630
Speaking as someone who has built a SAML
IdP from scratch, building one in Java mainly involves these things:
entityID
for this.1 and 4 require parsing and creating SAML
. You can use openSAML for those.
5 requires a SAML
attribute schema the SP is likely to understand. You can use eduPerson for this.
Working with SAML
and an SP requires a knowledge and implementation of various SAML
profiles. Web Browser SSO is one that is used a lot. You can read about the profiles here.
Once you understand SAML
and where it fits in the process you need to understand/implement XMLSignature and various encryption topics using PKI.
Once you have a working, tested IdP implementation, you then need to be able to parse SAML Metadata (PDF) to validate an SP using its public key certificate and various other urls in its metadata. You also need to keep the SP metadata up to date, as well as creating the IdP metadata to send to the SP so it can validate your SAML
Response
, which you will sign.
If the ROI isn't worth that amount of development, you can use the 'standard' IdP.
Upvotes: 5