The reason it generates an ID is not particualrly to maintain SAML compliance, it's because it's reusing code in the IdP that already generates all the boilerplate automatically and it serves no purpose to try and omit it. -- Scott