Shared_key VS user_auth

Hello,

I’m looking into authenticated configuration - fluentd/in_forward_users.conf at master · fluent/fluentd · GitHub

It looks like both shared_key and user_auth provide authentication.
shared_key is mandatory parameter for security section.
user_auth is optional.

I’m wondering, why need shared_key, if user_auth is defined?
Isn’t it redundant in this case?

I would appreciate, if somebody could clarify it.
Thank you!