krb5: call krb5_auth_cache_creds() if a password is available
The delayed online authentication feature is only available for password
authentication and krb5_auth_cache_creds() should only be called if a
password is available. Otherwise the error coded returned by
krb5_auth_cache_creds() will prevent proper offline authentication with
other methods e.g. Smartcard authentication.
Resolves:
https://pagure.io/SSSD/sssd/issue/3564
Reviewed-by: Lukáš Slebodník <lslebodn@redhat.com>
(cherry picked from commit a87658e5382a6ad119058d22b118a29eaae7a365)
(cherry picked from commit 3546e6c0be2f85c9e1828237000a376a188e43ac)