Returns the OAuth authorization result for the given state.
curl --request POST \
--url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"state": "aB3cD9fG0hJkLmN0pQrStUvWxYz_12-",
"telegramAuthToken": "<string>",
"forceCreateUser": true,
"code": "<string>",
"sessionPublicKey": "An example name",
"captchaToken": "<string>"
}
'import requests
url = "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult"
payload = {
"state": "aB3cD9fG0hJkLmN0pQrStUvWxYz_12-",
"telegramAuthToken": "<string>",
"forceCreateUser": True,
"code": "<string>",
"sessionPublicKey": "An example name",
"captchaToken": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
state: 'aB3cD9fG0hJkLmN0pQrStUvWxYz_12-',
telegramAuthToken: '<string>',
forceCreateUser: true,
code: '<string>',
sessionPublicKey: 'An example name',
captchaToken: '<string>'
})
};
fetch('https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'state' => 'aB3cD9fG0hJkLmN0pQrStUvWxYz_12-',
'telegramAuthToken' => '<string>',
'forceCreateUser' => true,
'code' => '<string>',
'sessionPublicKey' => 'An example name',
'captchaToken' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult"
payload := strings.NewReader("{\n \"state\": \"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-\",\n \"telegramAuthToken\": \"<string>\",\n \"forceCreateUser\": true,\n \"code\": \"<string>\",\n \"sessionPublicKey\": \"An example name\",\n \"captchaToken\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"state\": \"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-\",\n \"telegramAuthToken\": \"<string>\",\n \"forceCreateUser\": true,\n \"code\": \"<string>\",\n \"sessionPublicKey\": \"An example name\",\n \"captchaToken\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"state\": \"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-\",\n \"telegramAuthToken\": \"<string>\",\n \"forceCreateUser\": true,\n \"code\": \"<string>\",\n \"sessionPublicKey\": \"An example name\",\n \"captchaToken\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": "4/0AVHEtk436ug4uWwZN9i2PDpxGTVnLr63IqTNFzTInHce1q2JHQyOCJut9IK2SCZh4JaoSA",
"error": "<string>"
}{
"error": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"payload": {
"walletPublicKey": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"email": "jsmith@example.com"
}
}{
"error": "Resources already exists for this Object",
"payload": {
"email": "joe@email.com",
"embeddedWalletName": "<string>",
"mergeConflicts": {
"fromUser": {
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"projectEnvironmentId": "95b11417-f18f-457f-8804-68e361f9164f",
"verifiedCredentials": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"signInEnabled": true,
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chain": "<string>",
"refId": "95b11417-f18f-457f-8804-68e361f9164f",
"signerRefId": "95b11417-f18f-457f-8804-68e361f9164f",
"email": "jsmith@example.com",
"name_service": {
"avatar": "<string>",
"name": "<string>"
},
"public_identifier": "<string>",
"wallet_name": "<string>",
"wallet_properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyHDWalletId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true,
"turnkeyUserId": "95b11417-f18f-457f-8804-68e361f9164f",
"isSessionKeyCompatible": true
},
"business_account_properties": {
"businessAccountId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountCreatedAt": "2023-11-07T05:31:56Z",
"businessAccountSignerId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountName": "<string>",
"businessAccountExternalRef": "<string>"
},
"oauth_username": "<string>",
"oauth_display_name": "<string>",
"oauth_account_id": "<string>",
"phoneNumber": "9171113333",
"phoneCountryCode": "1",
"isoCountryCode": "US",
"oauth_account_photos": [
"<string>"
],
"oauth_emails": [
"<string>"
],
"oauth_metadata": {},
"previous_users": [
"95b11417-f18f-457f-8804-68e361f9164f"
],
"embedded_wallet_id": "<string>",
"wallet_additional_addresses": [
{
"address": "<string>",
"publicKey": "<string>",
"network": "<string>"
}
],
"lastSelectedAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z"
}
],
"lastVerifiedCredentialId": "95b11417-f18f-457f-8804-68e361f9164f",
"sessionId": "95b11417-f18f-457f-8804-68e361f9164f",
"alias": "An example name",
"country": "US",
"email": "jsmith@example.com",
"firstName": "An example name",
"jobTitle": "An example name",
"lastName": "An example name",
"phoneNumber": "<string>",
"policiesConsent": true,
"tShirtSize": "An example name",
"team": "An example name",
"username": "An example name",
"firstVisit": "2023-11-07T05:31:56Z",
"lastVisit": "2023-11-07T05:31:56Z",
"newUser": true,
"metadata": {},
"btcWallet": "<string>",
"kdaWallet": "<string>",
"ltcWallet": "<string>",
"ckbWallet": "<string>",
"kasWallet": "<string>",
"dogeWallet": "<string>",
"emailNotification": true,
"discordNotification": true,
"newsletterNotification": true,
"lists": [
"<string>"
],
"scope": "superuser marketing operations",
"missingFields": [
{
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
}
]
},
"conflicts": [
{
"field": {
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
},
"fromUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
},
"currentUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
}
}
]
},
"additionalMessages": [
"<string>"
]
}
}{
"error": "Internal Server Error"
}Authorizations
Bearer authentication header of the form Bearer <token>, where <token> is your auth token.
Path Parameters
ID of the environment
36^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$"95b11417-f18f-457f-8804-68e361f9164f"
Type of external auth provider The 'turnkey' value is deprecated and will be removed in a future version.
emailOnly, magicLink, apple, bitbucket, coinbasesocial, discord, epicgames, facebook, farcaster, github, gitlab, google, instagram, linkedin, microsoft, twitch, twitter, blocto, banxa, coinbaseOnramp, cryptoDotCom, moonPay, dynamic, alchemy, zerodev, telegram, turnkey, coinbaseWaas, sms, spotify, tiktok, line, steam, shopify, zksync, kraken, blockaid, passkey, okta, sendgrid, resend, trmWalletScreening, chainalysisAddressScreening Body
State string sent to oauth provider from sdk during login
Temporary auth state generated by the SDK; native mobile apps may append _client-redirect:
1200^[A-Za-z0-9_-]{1,64}(_client-redirect:[A-Za-z0-9_:/?&=%.@#!$'()*+,;~\[\]-]{0,1024})?$"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-"
JWT Auth Token coming from Telegram Bot containing user information
Force create a user for Telegram Auto Login
Temporary auth code for oauth2 access
^(?=\S)[\p{L}\p{N}a-zA-Z _.,:!?&%@\/+\-'|]+(?<=\S)$"An example name"
When provided, used to verify that a captcha is valid and get the success/failure result from the captcha provider server-side.
Response
Success
Was this page helpful?
curl --request POST \
--url https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data '
{
"state": "aB3cD9fG0hJkLmN0pQrStUvWxYz_12-",
"telegramAuthToken": "<string>",
"forceCreateUser": true,
"code": "<string>",
"sessionPublicKey": "An example name",
"captchaToken": "<string>"
}
'import requests
url = "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult"
payload = {
"state": "aB3cD9fG0hJkLmN0pQrStUvWxYz_12-",
"telegramAuthToken": "<string>",
"forceCreateUser": True,
"code": "<string>",
"sessionPublicKey": "An example name",
"captchaToken": "<string>"
}
headers = {
"Authorization": "Bearer <token>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Bearer <token>', 'Content-Type': 'application/json'},
body: JSON.stringify({
state: 'aB3cD9fG0hJkLmN0pQrStUvWxYz_12-',
telegramAuthToken: '<string>',
forceCreateUser: true,
code: '<string>',
sessionPublicKey: 'An example name',
captchaToken: '<string>'
})
};
fetch('https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'state' => 'aB3cD9fG0hJkLmN0pQrStUvWxYz_12-',
'telegramAuthToken' => '<string>',
'forceCreateUser' => true,
'code' => '<string>',
'sessionPublicKey' => 'An example name',
'captchaToken' => '<string>'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Bearer <token>",
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult"
payload := strings.NewReader("{\n \"state\": \"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-\",\n \"telegramAuthToken\": \"<string>\",\n \"forceCreateUser\": true,\n \"code\": \"<string>\",\n \"sessionPublicKey\": \"An example name\",\n \"captchaToken\": \"<string>\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Bearer <token>")
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult")
.header("Authorization", "Bearer <token>")
.header("Content-Type", "application/json")
.body("{\n \"state\": \"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-\",\n \"telegramAuthToken\": \"<string>\",\n \"forceCreateUser\": true,\n \"code\": \"<string>\",\n \"sessionPublicKey\": \"An example name\",\n \"captchaToken\": \"<string>\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://app.dynamicauth.com/api/v0/sdk/{environmentId}/providers/{providerType}/oauthResult")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Bearer <token>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"state\": \"aB3cD9fG0hJkLmN0pQrStUvWxYz_12-\",\n \"telegramAuthToken\": \"<string>\",\n \"forceCreateUser\": true,\n \"code\": \"<string>\",\n \"sessionPublicKey\": \"An example name\",\n \"captchaToken\": \"<string>\"\n}"
response = http.request(request)
puts response.read_body{
"code": "4/0AVHEtk436ug4uWwZN9i2PDpxGTVnLr63IqTNFzTInHce1q2JHQyOCJut9IK2SCZh4JaoSA",
"error": "<string>"
}{
"error": "<string>"
}{
"error": {
"code": "<string>",
"message": "<string>"
},
"payload": {
"walletPublicKey": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"email": "jsmith@example.com"
}
}{
"error": "Resources already exists for this Object",
"payload": {
"email": "joe@email.com",
"embeddedWalletName": "<string>",
"mergeConflicts": {
"fromUser": {
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"projectEnvironmentId": "95b11417-f18f-457f-8804-68e361f9164f",
"verifiedCredentials": [
{
"id": "95b11417-f18f-457f-8804-68e361f9164f",
"signInEnabled": true,
"address": "0xbF394748301603f18d953C90F0b087CBEC0E1834",
"chain": "<string>",
"refId": "95b11417-f18f-457f-8804-68e361f9164f",
"signerRefId": "95b11417-f18f-457f-8804-68e361f9164f",
"email": "jsmith@example.com",
"name_service": {
"avatar": "<string>",
"name": "<string>"
},
"public_identifier": "<string>",
"wallet_name": "<string>",
"wallet_properties": {
"turnkeySubOrganizationId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyPrivateKeyId": "95b11417-f18f-457f-8804-68e361f9164f",
"turnkeyHDWalletId": "95b11417-f18f-457f-8804-68e361f9164f",
"isAuthenticatorAttached": true,
"turnkeyUserId": "95b11417-f18f-457f-8804-68e361f9164f",
"isSessionKeyCompatible": true
},
"business_account_properties": {
"businessAccountId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountCreatedAt": "2023-11-07T05:31:56Z",
"businessAccountSignerId": "95b11417-f18f-457f-8804-68e361f9164f",
"businessAccountName": "<string>",
"businessAccountExternalRef": "<string>"
},
"oauth_username": "<string>",
"oauth_display_name": "<string>",
"oauth_account_id": "<string>",
"phoneNumber": "9171113333",
"phoneCountryCode": "1",
"isoCountryCode": "US",
"oauth_account_photos": [
"<string>"
],
"oauth_emails": [
"<string>"
],
"oauth_metadata": {},
"previous_users": [
"95b11417-f18f-457f-8804-68e361f9164f"
],
"embedded_wallet_id": "<string>",
"wallet_additional_addresses": [
{
"address": "<string>",
"publicKey": "<string>",
"network": "<string>"
}
],
"lastSelectedAt": "2023-11-07T05:31:56Z",
"verifiedAt": "2023-11-07T05:31:56Z"
}
],
"lastVerifiedCredentialId": "95b11417-f18f-457f-8804-68e361f9164f",
"sessionId": "95b11417-f18f-457f-8804-68e361f9164f",
"alias": "An example name",
"country": "US",
"email": "jsmith@example.com",
"firstName": "An example name",
"jobTitle": "An example name",
"lastName": "An example name",
"phoneNumber": "<string>",
"policiesConsent": true,
"tShirtSize": "An example name",
"team": "An example name",
"username": "An example name",
"firstVisit": "2023-11-07T05:31:56Z",
"lastVisit": "2023-11-07T05:31:56Z",
"newUser": true,
"metadata": {},
"btcWallet": "<string>",
"kdaWallet": "<string>",
"ltcWallet": "<string>",
"ckbWallet": "<string>",
"kasWallet": "<string>",
"dogeWallet": "<string>",
"emailNotification": true,
"discordNotification": true,
"newsletterNotification": true,
"lists": [
"<string>"
],
"scope": "superuser marketing operations",
"missingFields": [
{
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
}
]
},
"conflicts": [
{
"field": {
"name": "<string>",
"required": true,
"enabled": true,
"unique": true,
"verify": true,
"validationRules": {
"unique": true,
"regex": "^0x",
"validOptions": [
{
"label": "small"
},
{
"label": "medium"
},
{
"label": "large"
}
],
"checkboxText": "Agree to the terms and conditions"
},
"label": "<string>",
"position": 123
},
"fromUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
},
"currentUser": {
"userId": "95b11417-f18f-457f-8804-68e361f9164f",
"value": "An example name"
}
}
]
},
"additionalMessages": [
"<string>"
]
}
}{
"error": "Internal Server Error"
}