Installation
npm install --save @types/passport-apple
Summary
This package contains type definitions for passport-apple (https://github.com/ananay/passport-apple#readme).
Details
Files were exported from https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/passport-apple.
import { Request } from "express";
import { Strategy } from "passport";
import passportOAuth2 = require("passport-oauth2");
declare namespace AppleStrategy {
interface AuthenticateOptionsBase extends Partial<passportOAuth2._StrategyOptionsBase> {
authorizationURL?: string | undefined;
tokenURL?: string | undefined;
clientID: string;
teamID: string;
keyID: string;
privateKeyLocation?: string | undefined;
privateKeyString?: string | undefined;
}
interface AuthenticateOptions extends AuthenticateOptionsBase {
passReqToCallback?: false | undefined;
}
interface AuthenticateOptionsWithRequest extends AuthenticateOptionsBase {
passReqToCallback: true;
}
type AppleAuthorizationParams = object & {
response_mode: "form_post";
scope: "name email";
response_type: "name email";
state: string | undefined;
};
interface DecodedIdToken {
sub: string;
[key: string]: any;
}
interface Profile {
[key: string]: any;
}
type VerifyCallback = (err?: Error | null, user?: object, info?: object) => void;
type VerifyFunction = (
accessToken: string,
refreshToken: string,
decodedIdToken: DecodedIdToken,
profile: Profile,
verified: VerifyCallback,
) => void;
type VerifyFunctionWithRequest = (
req: Request,
accessToken: string,
refreshToken: string,
decodedIdToken: DecodedIdToken,
profile: Profile,
verified: VerifyCallback,
) => void;
}
declare class AppleStrategy extends passportOAuth2 {
constructor(options: AppleStrategy.AuthenticateOptions, verify: AppleStrategy.VerifyFunction);
constructor(options: AppleStrategy.AuthenticateOptionsWithRequest, verify: AppleStrategy.VerifyFunctionWithRequest);
authorizationParams(options: object): AppleStrategy.AppleAuthorizationParams;
name: "apple";
}
export = AppleStrategy;
Additional Details
Credits
These definitions were written by ytkalan.