curl --request POST \
--url https://backendapi.corbado.io/v2/users/{userID}/socialAccounts \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"identifierValue": "jane@doe.com",
"foreignID": "53150919",
"avatarURL": "https://avatars.githubusercontent.com/u/53150919?v=4",
"fullName": "Jane Doe"
}
'import requests
url = "https://backendapi.corbado.io/v2/users/{userID}/socialAccounts"
payload = {
"identifierValue": "jane@doe.com",
"foreignID": "53150919",
"avatarURL": "https://avatars.githubusercontent.com/u/53150919?v=4",
"fullName": "Jane Doe"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identifierValue: 'jane@doe.com',
foreignID: '53150919',
avatarURL: 'https://avatars.githubusercontent.com/u/53150919?v=4',
fullName: 'Jane Doe'
})
};
fetch('https://backendapi.corbado.io/v2/users/{userID}/socialAccounts', 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://backendapi.corbado.io/v2/users/{userID}/socialAccounts",
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([
'identifierValue' => 'jane@doe.com',
'foreignID' => '53150919',
'avatarURL' => 'https://avatars.githubusercontent.com/u/53150919?v=4',
'fullName' => 'Jane Doe'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://backendapi.corbado.io/v2/users/{userID}/socialAccounts"
payload := strings.NewReader("{\n \"identifierValue\": \"jane@doe.com\",\n \"foreignID\": \"53150919\",\n \"avatarURL\": \"https://avatars.githubusercontent.com/u/53150919?v=4\",\n \"fullName\": \"Jane Doe\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://backendapi.corbado.io/v2/users/{userID}/socialAccounts")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"identifierValue\": \"jane@doe.com\",\n \"foreignID\": \"53150919\",\n \"avatarURL\": \"https://avatars.githubusercontent.com/u/53150919?v=4\",\n \"fullName\": \"Jane Doe\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://backendapi.corbado.io/v2/users/{userID}/socialAccounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifierValue\": \"jane@doe.com\",\n \"foreignID\": \"53150919\",\n \"avatarURL\": \"https://avatars.githubusercontent.com/u/53150919?v=4\",\n \"fullName\": \"Jane Doe\"\n}"
response = http.request(request)
puts response.read_body{
"socialAccountID": "soc-6060375336139150919",
"providerType": "github",
"identifierValue": "jane@doe.com",
"userID": "usr-4693224802260150919",
"foreignID": "53150919",
"avatarURL": "https://avatars.githubusercontent.com/u/53150919?v=4",
"fullName": "Jane Doe"
}{
"httpStatusCode": 123,
"message": "OK",
"requestData": {
"requestID": "req-557...663",
"link": "https://my.corbado.com/requests/req-xxxxxxxxxxxxxxxxxxx"
},
"runtime": 0.06167686,
"error": {
"type": "<string>",
"details": "<string>",
"validation": [
{
"field": "<string>",
"message": "<string>"
}
],
"links": [
"<string>"
]
},
"data": {}
}Create a social login for a user
Creates a new social login for a user by given userID. Social logins are used to authenticate users with third-party providers like Google, Microsoft, or GitHub.
You can set up social logins in the Developer Panel or consult the Documentation for more details.
curl --request POST \
--url https://backendapi.corbado.io/v2/users/{userID}/socialAccounts \
--header 'Authorization: Basic <encoded-value>' \
--header 'Content-Type: application/json' \
--data '
{
"identifierValue": "jane@doe.com",
"foreignID": "53150919",
"avatarURL": "https://avatars.githubusercontent.com/u/53150919?v=4",
"fullName": "Jane Doe"
}
'import requests
url = "https://backendapi.corbado.io/v2/users/{userID}/socialAccounts"
payload = {
"identifierValue": "jane@doe.com",
"foreignID": "53150919",
"avatarURL": "https://avatars.githubusercontent.com/u/53150919?v=4",
"fullName": "Jane Doe"
}
headers = {
"Authorization": "Basic <encoded-value>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {Authorization: 'Basic <encoded-value>', 'Content-Type': 'application/json'},
body: JSON.stringify({
identifierValue: 'jane@doe.com',
foreignID: '53150919',
avatarURL: 'https://avatars.githubusercontent.com/u/53150919?v=4',
fullName: 'Jane Doe'
})
};
fetch('https://backendapi.corbado.io/v2/users/{userID}/socialAccounts', 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://backendapi.corbado.io/v2/users/{userID}/socialAccounts",
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([
'identifierValue' => 'jane@doe.com',
'foreignID' => '53150919',
'avatarURL' => 'https://avatars.githubusercontent.com/u/53150919?v=4',
'fullName' => 'Jane Doe'
]),
CURLOPT_HTTPHEADER => [
"Authorization: Basic <encoded-value>",
"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://backendapi.corbado.io/v2/users/{userID}/socialAccounts"
payload := strings.NewReader("{\n \"identifierValue\": \"jane@doe.com\",\n \"foreignID\": \"53150919\",\n \"avatarURL\": \"https://avatars.githubusercontent.com/u/53150919?v=4\",\n \"fullName\": \"Jane Doe\"\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Authorization", "Basic <encoded-value>")
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://backendapi.corbado.io/v2/users/{userID}/socialAccounts")
.header("Authorization", "Basic <encoded-value>")
.header("Content-Type", "application/json")
.body("{\n \"identifierValue\": \"jane@doe.com\",\n \"foreignID\": \"53150919\",\n \"avatarURL\": \"https://avatars.githubusercontent.com/u/53150919?v=4\",\n \"fullName\": \"Jane Doe\"\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://backendapi.corbado.io/v2/users/{userID}/socialAccounts")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Authorization"] = 'Basic <encoded-value>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"identifierValue\": \"jane@doe.com\",\n \"foreignID\": \"53150919\",\n \"avatarURL\": \"https://avatars.githubusercontent.com/u/53150919?v=4\",\n \"fullName\": \"Jane Doe\"\n}"
response = http.request(request)
puts response.read_body{
"socialAccountID": "soc-6060375336139150919",
"providerType": "github",
"identifierValue": "jane@doe.com",
"userID": "usr-4693224802260150919",
"foreignID": "53150919",
"avatarURL": "https://avatars.githubusercontent.com/u/53150919?v=4",
"fullName": "Jane Doe"
}{
"httpStatusCode": 123,
"message": "OK",
"requestData": {
"requestID": "req-557...663",
"link": "https://my.corbado.com/requests/req-xxxxxxxxxxxxxxxxxxx"
},
"runtime": 0.06167686,
"error": {
"type": "<string>",
"details": "<string>",
"validation": [
{
"field": "<string>",
"message": "<string>"
}
],
"links": [
"<string>"
]
},
"data": {}
}Authorizations
Basic authentication is used to authenticate requests to the Backend API. The username is the project ID and the password is the API secret.
The project ID and API secret can be found in the Developer Panel.
Path Parameters
Unique identifier of the user. Format: usr-<number>.
"usr-4693224802260150919"
Body
Type of the social provider.
google, microsoft, github Login identifier of the user (here email address).
"jane@doe.com"
Unique identifier of the user in the social provider.
"53150919"
URL of the avatar of the user in the social provider.
"https://avatars.githubusercontent.com/u/53150919?v=4"
Full name of the user in the social provider.
"Jane Doe"
Response
Social login has been created.
Unique identifier of the social account.
"soc-6060375336139150919"
Type of the social provider.
"github"
Login identifier of the user (here email address).
"jane@doe.com"
Unique identifier of the user.
"usr-4693224802260150919"
Unique identifier of the user in the social provider.
"53150919"
URL of the avatar of the user in the social provider.
"https://avatars.githubusercontent.com/u/53150919?v=4"
Full name of the user in the social provider.
"Jane Doe"
Was this page helpful?