http://openid.net/specs/openid-connect-core-1_0.html#IDToken says:
"ID Tokens MUST be signed using JWS [JWS] and optionally both signed and then encrypted using JWS [JWS] and JWE [JWE] respectively, thereby providing authentication, integrity, non-repudiation, and optionally, confidentiality, per Section 16.14."
I contrast, AAD appears not to sign the id_token?
https://msdn.microsoft.com/en-us/library/azure/dn645542.aspx says in (TokenResponse documentation):
id_token
An unsigned JSON Web Token (JWT). The application can use this token to request information about the user who consented. The application can cache the values and display them.
Why the difference?