This looks good to me. Yes, when you want to specify a login ID that is different from the email address, you should use signInType as userName rather than emailAddress
Make sure the issuer matches your verified domain
For a complete user creation, you might also want to include:
- displayName
- accountEnabled
You can mark it 'Accept Answer' and 'Upvote' if this helped you
Regards,
Abiola