当我尝试通过CLI索取令牌时,我会遇到问题。在正常情况下,您可以访问https://www.plex.tv/claim/并获取令牌,如果未记录,则需要使用您的帐户登录。我想知道它有可能获得 username
和 password
的索赔令牌。
首先,我需要登录并获取auth令牌。我已经在卷发中制作了这个命令:
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"
它输出类似:
{
"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
}
}
我现在如何要求象征?我没有找到任何API来获得该令牌。我们只能从网站https://www.plex.tv/claim/
获得令牌就像:siper-xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx的
我在源页面中找不到令牌
我发现它查看了plex的来源。这是一个示例脚本:
<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>