howdy/auth/providers/apple
Sign in with Apple, web flow. Only the email scope is requested; Apple access and refresh tokens are never stored or returned.
Apple differs from the other providers in two ways. The client proves
itself with a short-lived ES256 JWT signed by the developer’s key, made
afresh for each exchange, instead of a shared secret. And any scope makes
Apple answer with a cross-site POST (response_mode=form_post), which the
provider routes turn into the ordinary callback GET.
Values
pub fn new(
client_id client_id: String,
team_id team_id: String,
key_id key_id: String,
private_key private_key: String,
) -> provider.Provider
client_id is the Services ID (not the app’s bundle ID), team_id the
ten-character Apple developer team, key_id the identifier of a key with
Sign in with Apple enabled, and private_key the contents of its .p8
download: a PEM-encoded P-256 key. Keep the key wherever other secrets live.