Great-West Lifeco · Authentication Profile
Great West Lifeco Authentication
Authentication
Great-West Lifeco secures its APIs with apiKey, oauth2, and openIdConnect across 3 declared security schemes, as derived from its OpenAPI definitions. OAuth 2.0 is offered via the clientCredentials flow(s).
InsuranceCanadaLife InsuranceHealth InsuranceEmployee BenefitsRetirementWealth ManagementReinsuranceAnnuitiesPartner Gated
Methods: apiKey, oauth2, openIdConnect
Schemes: 3
OAuth flows: clientCredentials
API key in: header
Security Schemes
EmpowerApiKey apiKey
· in: header ()
EmpowerOAuth2ClientCredentials oauth2
· flows: clientCredentials
CanadaLifeGatewayOIDC openIdConnect
Source
Authentication Profile
generated: '2026-07-25'
method: searched
source: >-
https://developer.empower.com/docs/get-started;
https://developer.empower.com/docs/additional-security-protocols-publicprivate-key-infrastructure-pki;
https://developer.empower.com/api-catalog/oauth2-api;
https://www.empower.com/financial-professionals/experience/apis;
https://api.canadalife.com/.well-known/openid-configuration (HTTP 200)
docs: https://developer.empower.com/docs/get-started
note: >-
Great-West Lifeco has no group-wide auth model. Two independent, unrelated
authorization surfaces exist inside the group and are recorded separately:
Empower (U.S. retirement) documents its model in prose on a public developer
portal but issues credentials only after an approved access request, and
Canada Life (Canada) publishes no documentation at all but does serve a live
OpenID Connect discovery document on its production API gateway. No OpenAPI
securitySchemes exist anywhere in the group, so nothing here is derived from
a spec; every field below was read off a public page or a live probe.
summary:
types: [apiKey, oauth2, openIdConnect]
api_key_in: [header]
api_key_names: [x-api-key]
oauth2_flows: [clientCredentials]
client_authentication: [client_secret_basic, private_key_jwt, client_secret_post, client_secret_jwt]
self_serve_credentials: false
fapi_alignment: claimed
schemes:
- name: EmpowerApiKey
entity: Empower (U.S. retirement subsidiary)
type: apiKey
in: header
parameter_name: x-api-key
source: https://developer.empower.com/docs/get-started
description: >-
"The API key is used to protect the Empower API from unauthorized access.
When your application makes a request to the API, the API key must be
supplied as a request header named x-api-key with the value of the API key
delivered." The key is delivered by secure email after an access request is
reviewed and approved. The OAuth 2.0 API release notes additionally state
that the /token and /auth endpoints accept an optional x-api-key header.
- name: EmpowerOAuth2ClientCredentials
entity: Empower (U.S. retirement subsidiary)
type: oauth2
flows:
- flow: clientCredentials
tokenUrl: null
note: >-
The authorization service endpoint is not published; it is communicated
privately to approved partners together with the Client ID and Client
Secret by secure email. The public OAuth 2.0 API catalog entry documents
/auth and /token endpoint paths but not their host.
client_authentication:
- method: client_secret_basic
status: legacy
note: >-
"Using Type of Basic Auth, set client_credentials as grant_type, Username
set to your received Client ID, and Password set to your received Client
secret value. This call will return a bearer access token." Retained only
for read-only APIs, on individual request and after security review.
- method: private_key_jwt
status: required
since: '2024-Q4'
note: >-
"Starting Q4 2024 - in support of higher API security required for
Financial-grade APIs (FAPI), Empower APIs will be requiring the use
asymmetric (public-key based) method ... for client authentication
method." Empower states OAuth2 and OpenID Connect are used to protect its
APIs, and that asymmetric client authentication means the Empower
Authorization Server does not need to store sensitive symmetric keys.
token_usage: >-
Bearer access token supplied as the value of the Authorization request
header.
source: https://developer.empower.com/docs/additional-security-protocols-publicprivate-key-infrastructure-pki
- name: CanadaLifeGatewayOIDC
entity: Canada Life (Canadian operating brand)
type: openIdConnect
openIdConnectUrl: https://api.canadalife.com/.well-known/openid-configuration
issuer: https://api.canadalife.com
source: well-known/great-west-lifeco-openid-configuration.json
endpoints:
token: https://api.canadalife.com/oauth2/v1/generate
jwks: https://api.canadalife.com/oauth2/v1/jwks
revocation: https://api.canadalife.com/oauth2/v1/revoke
userinfo: https://api.canadalife.com/oauth2/v1/userinfo
authorization: https://api.canadalife.com/oauth2/v1/authorize-NOT-SUPPORTED
response_types_supported: [code, token]
token_endpoint_auth_methods_supported:
- client_secret_post
- client_secret_basic
- client_secret_jwt
id_token_signing_alg_values_supported: [RS256]
subject_types_supported: public
scopes_supported: []
note: >-
The authorization_endpoint value is published literally as
"https://api.canadalife.com/oauth2/v1/authorize-NOT-SUPPORTED", i.e. the
interactive authorization-code redirect is deliberately disabled and the
gateway is machine-to-machine only. scopes_supported is an empty array, so
scope names are provisioned per client rather than advertised. Anonymous
calls to protected paths return an Apigee error naming the "Consumer-Key",
confirming an Apigee-fronted gateway. jwks_uri returns live RSA keys
anonymously (HTTP 200).
gated:
credentials_issued_by: >-
Empower: portal registration, then a "Get Access" request per API, reviewed
and approved, after which API Key, Client ID, Client Secret (or PKI
onboarding documentation) and the authorization service endpoint arrive by
secure email. Canada Life: no public request path at all - the gateway
error envelope points to https://apimarketplace.canadalife.com, a
digitalML-hosted API marketplace that does not resolve publicly.
reference_documentation: >-
Every Empower API reference page states "To see the reference
documentation, please login". No endpoint list, base URL or specification
is retrievable anonymously anywhere in the group.
b2c:
supported: contact-required
note: '"Contact us to discuss a B2C scenario." - Empower Get started guide.'