I'm getting issue when I try to claim the token throught cli. In the normal way you access https://www.plex.tv/claim/ and get the token, if not logged you'll need to log in with your account. I'm wondering it it's possible to get the claim token giving the username
and password
.
First, I need to log in and get the auth token. I have made this command in cURL :
curl -X "POST" "https://plex.tv/users/sign_in.json" -H "X-Plex-Version: 1.0.0" -H "X-Plex-Product: WHATEVER" -H "X-Plex-Client-Identifier: YOUR-PRODUCT-ID" -H "Content-Type: application/x-www-form-urlencoded; charset=utf-8" --data-urlencode "user[password]=PASSWORD" --data-urlencode "user[login]=LOGIN-OR-EMAIL"
It output something like :
{
"user":{
"id":234612345,
"uuid":"c59ae6a4785ea41",
"email":"mail@domain",
"joined_at":"2019-01-13T14:20:05.000Z",
"username":"userA",
"title":"userA",
"thumb":"https://plex.tv/users/c19ae7c44546aa41/avatar?c=1557225551",
"hasPassword":true,
"authToken":"ysdfzerk47qnCSm7zYqzEAZIds4VF3b",
"authentication_token":"ysdfzerk47qnCSm7zYqzEAZIds4VF3b",
"subscription":{
"active":false,
"status":"Inactive",
"plan":null,
"features":[
"adaptive_bitrate",
"collections",
"photos-metadata-edition",
"radio",
"photos-favorites",
"federated-auth",
"Android - PiP",
"publishing_platform",
"news",
"kevin-bacon",
"client-radio-stations",
"TREBLE-show-features",
"web_server_dashboard",
"conan_redirect_qa",
"conan_redirect_alpha",
"conan_redirect_beta",
"conan_redirect_public",
"news_local_now",
"transcoder_cache",
"artist-tv"
]
},
"roles":{
"roles":[
]
},
"entitlements":[
],
"confirmedAt":null,
"forumId":null,
"rememberMe":false
}
}
How can I claim the token now ? I don't found any api to get that token. We can only get from the website https://www.plex.tv/claim/
The token is like : claim-XXXXXXXXXXXXXXXXXXXX
I can't find the token in the source page
I found it looking at source of plex. Here is a sample script:
<script src="https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js"></script>
<span>Token: <span id="token"></span></span>
<script>
var TokenIdentifier = ""
var ClientIdentifier = ""
var i = {
"X-Plex-Product": "Plex SSO",
"X-Plex-Token": TokenIdentifier,
"X-Plex-Client-Identifier": ClientIdentifier
};
$.ajax({
dataType: "json",
type: "GET",
headers: i,
url: "https://plex.tv/api/claim/token.json",
crossDomain: !0,
success: function(e) {
$.each(e, function(index, element) {
document.getElementById("token").innerHTML = element;
});
}
})
</script>