Apple OAuth Provider
Authenticate using Apple OAuth provider. Supports both OIDC and OAuth2 protocols.
For OAuth2
import { buildConfig } from "payload/config";
import { adminAuthPlugin } from "payload-auth-plugin";
import { AppleOAuth2Provider } from "payload-auth-plugin/providers";
export default buildConfig({
// --- rest of the config
plugins: [
// --- rest of the plugins
adminAuthPlugin({
providers: [
AppleOAuth2Provider({
client_id: process.env.PROVIDER_CLIENT_ID as string,
client_secret: process.env.PROVIDER_CLIENT_SECRET as string,
}),
],
}),
],
});
For OIDC
import { buildConfig } from "payload/config";
import { adminAuthPlugin } from "payload-auth-plugin";
import { AppleOIDCAuthProvider } from "payload-auth-plugin/providers";
export default buildConfig({
// --- rest of the config
plugins: [
// --- rest of the plugins
adminAuthPlugin({
providers: [
AppleOIDCAuthProvider({
client_id: process.env.PROVIDER_CLIENT_ID as string,
}),
],
}),
],
});
Parameters
• config AppleAuthConfig
Returns
• provider OAuth2ProviderConfig for AppleOAuth2Provider
• provider OIDCProviderConfig for AppleOIDCAuthProvider
AppleAuthConfig
• AppleAuthConfig.client_id:
Type: string
Description: client_id
is a string generated by Apple to identify your Payload app.
Optional: No.
{
client_id: "";
}
• AppleAuthConfig.client_secret:
Type: string
Description: client_secret
is a private key generated by Apple to authenticate your Payload app. This is not required if you are using AppleOIDCAuthProvider.
Optional: No.
{
client_secret: "";
}
• AppleAuthConfig.params:
Type: Record<string, string>
Description: params
any additional parameters to pass to the IDP for authorization.
Optional: Yes.
{
params: {
// additional parameters
}
}