Créer une connexion OpenId
Registers a relationship between a title and an Open ID Connect provider.
Error codes
This operation may return the following PlayFab errors:
| Error | Code |
|---|---|
| ValueAlreadyExists | 1031 |
curl --request POST \
--url https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"ConnectionId": "oidconnection1",
"ClientId": "example_id_1",
"ClientSecret": "example_secret_1",
"IssuerInformation": {
"Issuer": "https://issuer.example.com/",
"AuthorizationUrl": "https://issuer.example.com/authorize",
"TokenUrl": "https://issuer.example.com/oauth2/token",
"JsonWebKeySet": {
"keys": [
"..."
]
}
},
"IssuerOverride": "https://issueroverride.example.com/",
"IgnoreNonce": true
}
'import requests
url = "https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection"
payload = {
"ConnectionId": "oidconnection1",
"ClientId": "example_id_1",
"ClientSecret": "example_secret_1",
"IssuerInformation": {
"Issuer": "https://issuer.example.com/",
"AuthorizationUrl": "https://issuer.example.com/authorize",
"TokenUrl": "https://issuer.example.com/oauth2/token",
"JsonWebKeySet": { "keys": ["..."] }
},
"IssuerOverride": "https://issueroverride.example.com/",
"IgnoreNonce": True
}
headers = {
"X-SecretKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-SecretKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ConnectionId: 'oidconnection1',
ClientId: 'example_id_1',
ClientSecret: 'example_secret_1',
IssuerInformation: {
Issuer: 'https://issuer.example.com/',
AuthorizationUrl: 'https://issuer.example.com/authorize',
TokenUrl: 'https://issuer.example.com/oauth2/token',
JsonWebKeySet: {keys: ['...']}
},
IssuerOverride: 'https://issueroverride.example.com/',
IgnoreNonce: true
})
};
fetch('https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection', 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://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection",
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([
'ConnectionId' => 'oidconnection1',
'ClientId' => 'example_id_1',
'ClientSecret' => 'example_secret_1',
'IssuerInformation' => [
'Issuer' => 'https://issuer.example.com/',
'AuthorizationUrl' => 'https://issuer.example.com/authorize',
'TokenUrl' => 'https://issuer.example.com/oauth2/token',
'JsonWebKeySet' => [
'keys' => [
'...'
]
]
],
'IssuerOverride' => 'https://issueroverride.example.com/',
'IgnoreNonce' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-SecretKey: <api-key>"
],
]);
$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://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection"
payload := strings.NewReader("{\n \"ConnectionId\": \"oidconnection1\",\n \"ClientId\": \"example_id_1\",\n \"ClientSecret\": \"example_secret_1\",\n \"IssuerInformation\": {\n \"Issuer\": \"https://issuer.example.com/\",\n \"AuthorizationUrl\": \"https://issuer.example.com/authorize\",\n \"TokenUrl\": \"https://issuer.example.com/oauth2/token\",\n \"JsonWebKeySet\": {\n \"keys\": [\n \"...\"\n ]\n }\n },\n \"IssuerOverride\": \"https://issueroverride.example.com/\",\n \"IgnoreNonce\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-SecretKey", "<api-key>")
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://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ConnectionId\": \"oidconnection1\",\n \"ClientId\": \"example_id_1\",\n \"ClientSecret\": \"example_secret_1\",\n \"IssuerInformation\": {\n \"Issuer\": \"https://issuer.example.com/\",\n \"AuthorizationUrl\": \"https://issuer.example.com/authorize\",\n \"TokenUrl\": \"https://issuer.example.com/oauth2/token\",\n \"JsonWebKeySet\": {\n \"keys\": [\n \"...\"\n ]\n }\n },\n \"IssuerOverride\": \"https://issueroverride.example.com/\",\n \"IgnoreNonce\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-SecretKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ConnectionId\": \"oidconnection1\",\n \"ClientId\": \"example_id_1\",\n \"ClientSecret\": \"example_secret_1\",\n \"IssuerInformation\": {\n \"Issuer\": \"https://issuer.example.com/\",\n \"AuthorizationUrl\": \"https://issuer.example.com/authorize\",\n \"TokenUrl\": \"https://issuer.example.com/oauth2/token\",\n \"JsonWebKeySet\": {\n \"keys\": [\n \"...\"\n ]\n }\n },\n \"IssuerOverride\": \"https://issueroverride.example.com/\",\n \"IgnoreNonce\": true\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}Autorisations
This API requires a title secret key, available to title admins, from PlayFab Game Manager.
Corps
The client ID given by the ID provider.
The client secret given by the ID provider.
A name for the connection that identifies it within the title.
Ignore 'nonce' claim in identity tokens.
The discovery document URL to read issuer information from. This must be the absolute URL to the JSON OpenId Configuration document and must be accessible from the internet. If you don't know it, try your issuer URL followed by "/.well-known/openid-configuration". For example, if the issuer is https://example.com, try https://example.com/.well-known/openid-configuration
Manually specified information for an OpenID Connect issuer.
Show child attributes
Show child attributes
Override the issuer name for user indexing and lookup.
Sujets connexes
Supprimer une connexion OpenIdMettre à jour une connexion OpenIdLister les connexions OpenIdPFAccountManagementClientUnlinkOpenIdConnectAsyncPFUserOpenIdInfoCette page vous a-t-elle été utile ?
curl --request POST \
--url https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection \
--header 'Content-Type: application/json' \
--header 'X-SecretKey: <api-key>' \
--data '
{
"ConnectionId": "oidconnection1",
"ClientId": "example_id_1",
"ClientSecret": "example_secret_1",
"IssuerInformation": {
"Issuer": "https://issuer.example.com/",
"AuthorizationUrl": "https://issuer.example.com/authorize",
"TokenUrl": "https://issuer.example.com/oauth2/token",
"JsonWebKeySet": {
"keys": [
"..."
]
}
},
"IssuerOverride": "https://issueroverride.example.com/",
"IgnoreNonce": true
}
'import requests
url = "https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection"
payload = {
"ConnectionId": "oidconnection1",
"ClientId": "example_id_1",
"ClientSecret": "example_secret_1",
"IssuerInformation": {
"Issuer": "https://issuer.example.com/",
"AuthorizationUrl": "https://issuer.example.com/authorize",
"TokenUrl": "https://issuer.example.com/oauth2/token",
"JsonWebKeySet": { "keys": ["..."] }
},
"IssuerOverride": "https://issueroverride.example.com/",
"IgnoreNonce": True
}
headers = {
"X-SecretKey": "<api-key>",
"Content-Type": "application/json"
}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'X-SecretKey': '<api-key>', 'Content-Type': 'application/json'},
body: JSON.stringify({
ConnectionId: 'oidconnection1',
ClientId: 'example_id_1',
ClientSecret: 'example_secret_1',
IssuerInformation: {
Issuer: 'https://issuer.example.com/',
AuthorizationUrl: 'https://issuer.example.com/authorize',
TokenUrl: 'https://issuer.example.com/oauth2/token',
JsonWebKeySet: {keys: ['...']}
},
IssuerOverride: 'https://issueroverride.example.com/',
IgnoreNonce: true
})
};
fetch('https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection', 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://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection",
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([
'ConnectionId' => 'oidconnection1',
'ClientId' => 'example_id_1',
'ClientSecret' => 'example_secret_1',
'IssuerInformation' => [
'Issuer' => 'https://issuer.example.com/',
'AuthorizationUrl' => 'https://issuer.example.com/authorize',
'TokenUrl' => 'https://issuer.example.com/oauth2/token',
'JsonWebKeySet' => [
'keys' => [
'...'
]
]
],
'IssuerOverride' => 'https://issueroverride.example.com/',
'IgnoreNonce' => true
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json",
"X-SecretKey: <api-key>"
],
]);
$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://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection"
payload := strings.NewReader("{\n \"ConnectionId\": \"oidconnection1\",\n \"ClientId\": \"example_id_1\",\n \"ClientSecret\": \"example_secret_1\",\n \"IssuerInformation\": {\n \"Issuer\": \"https://issuer.example.com/\",\n \"AuthorizationUrl\": \"https://issuer.example.com/authorize\",\n \"TokenUrl\": \"https://issuer.example.com/oauth2/token\",\n \"JsonWebKeySet\": {\n \"keys\": [\n \"...\"\n ]\n }\n },\n \"IssuerOverride\": \"https://issueroverride.example.com/\",\n \"IgnoreNonce\": true\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("X-SecretKey", "<api-key>")
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://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection")
.header("X-SecretKey", "<api-key>")
.header("Content-Type", "application/json")
.body("{\n \"ConnectionId\": \"oidconnection1\",\n \"ClientId\": \"example_id_1\",\n \"ClientSecret\": \"example_secret_1\",\n \"IssuerInformation\": {\n \"Issuer\": \"https://issuer.example.com/\",\n \"AuthorizationUrl\": \"https://issuer.example.com/authorize\",\n \"TokenUrl\": \"https://issuer.example.com/oauth2/token\",\n \"JsonWebKeySet\": {\n \"keys\": [\n \"...\"\n ]\n }\n },\n \"IssuerOverride\": \"https://issueroverride.example.com/\",\n \"IgnoreNonce\": true\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://{titleId}.playfabapi.com/Admin/CreateOpenIdConnection")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["X-SecretKey"] = '<api-key>'
request["Content-Type"] = 'application/json'
request.body = "{\n \"ConnectionId\": \"oidconnection1\",\n \"ClientId\": \"example_id_1\",\n \"ClientSecret\": \"example_secret_1\",\n \"IssuerInformation\": {\n \"Issuer\": \"https://issuer.example.com/\",\n \"AuthorizationUrl\": \"https://issuer.example.com/authorize\",\n \"TokenUrl\": \"https://issuer.example.com/oauth2/token\",\n \"JsonWebKeySet\": {\n \"keys\": [\n \"...\"\n ]\n }\n },\n \"IssuerOverride\": \"https://issueroverride.example.com/\",\n \"IgnoreNonce\": true\n}"
response = http.request(request)
puts response.read_body{
"code": 123,
"status": "<string>",
"data": {}
}{
"code": 123,
"errorCode": 123,
"status": "<string>",
"error": "<string>",
"errorMessage": "<string>",
"errorDetails": {}
}