Apply with Passport
Apply with Passport allows organizations or individuals to apply with one click to funding/programs or opportunities on partner websites and ATS (Applications Tracking Systems) across the web by reusing their Passport Data.
When an organization/individual clicks "Apply with Passport" on one of these partner sites, we'll securely send all the relevant Passport data to the partner site/app. This means that the opportunity owner will be able to easily access the organization/individual’s complete Passport Data on its own site/ATS as they look through the applicants for an opportunity.
During the process, the user will be promted to grant access to some information of his organization.
Apply with Passport Flow
The applicant goes to your application and clicks the "Apply with Passport" button.
Your application directs the browser to Passport's authorization page.
The user authenticates and selects the organization from which he wants to apply.
After authentication and authorization, Passport's authorization server passes an authorization code to your application.
Your application sends this authorization code to Passport and Passport returns an access token.
Your application uses this token to make an API calls to receive the application data.
Prerequisites
Have a Passport application with the following scope: "opportunity.apply" and an registered Opportunity
Step 1: Request an Authorization code
After configuring your application and opportunity, the next step is to get an authorization code, needed to retrieve the access token.
slug
string
The slug of the opportunity
Yes
client_id
string
The Client ID
Yes
redirect_uri
string
URI you want to redirect the user after getting the code
Yes
response_type
string
The response is of type code
Yes
scope
string
scope opportunity.apply
is mandatory
Yes
state
string
A unique string value of your choice that is hard to guess. Used to prevent CSRF.
Yes
Sample Request
Once redirected, the applicant is presented with Passport's authorization screen. When the applicant completes the authorization process, the browser is redirected to the URL provided in the redirect_uri query parameter.
Sample Response
Attached to the redirect_uri are three important URL arguments that you need to read from the request:
code — The authorization code. state — A value used to test for possible CSRF attacks. appId — The ID of the application the user submitted.
Step 2. Getting the Access Token
The next step is to get an access token for your application.
grant_type
string
The value of this field should always be: client_credentials
Yes
client_id
string
The Client ID
Yes
client_secret
string
The Secret Key
Yes
Sample Request
Access Token Response
A successful access token request returns a JSON object containing the following fields:
token_type
string
The type is always bearer token
access_token
string
expires_in
int
The number of seconds remaining until the token expires. Currently, all access tokens are issued with a 60-day lifespan.
scope
list
The scope with this type of authentication will be always identity.basic
Access Token Scopes and Lifetime
Access tokens stay valid until the number of seconds indicated in the expires_in field in the API response. You can go through the OAuth flow on multiple clients (browsers or devices) and simultaneously hold multiple valid access tokens if the same scope is requested. If you request a different scope than the previously granted scope, all the previous access tokens are invalidated.
Step 3. Get the submitted application
Once you've obtained an access token, you can make an API requests to get the data of the User's submitted application.
Sample Request
Request Body
applicationId
string
The application ID obtained requesting the authorization token.
token
string
Required. The string value of the token you received in the previous step
Sample Response
Additional resources
Image resources
Last updated