簡體   English   中英

C# 不和諧 OAuth2

[英]C# Discord OAuth2

我正在嘗試將 Discord OAuth2 登錄系統添加到我的桌面應用程序中。 我嘗試了很多東西,但都沒有奏效。

  • 我試過 webbrowser 但它沒有加載 OAuth2 頁面。
  • 我研究了一些東西並嘗試了它們。 但他們也沒有工作。

之后我嘗試了很多網絡請求,但我的請求總是有錯誤。 像這樣:

var client = new HttpClient();
var httpRequestMessage = new HttpRequestMessage {
    Method = HttpMethod.Post,
        RequestUri = new Uri("https://discord.com/oauth2/authorize?client_id={client-id}&redirect_uri=https%3A%2F%2F{redirect-uri}&response_type=code&scope=identify"),
        Headers = {
            {
                HttpRequestHeader.Authorization.ToString(), "Bot my bot token"
            },
            {
                HttpRequestHeader.Accept.ToString(),
                "application/json"
            },
            {
                HttpRequestHeader.ContentType.ToString(),
                "application/x-www-form-urlencoded"
            },
            {
                "client_id",
                "my bot id"
            },
            {
                "client_secret",
                "my bot secret"
            }

        }
};
var response = client.SendAsync(httpRequestMessage);
Console.WriteLine(response.Result);

此代碼的結果:

StatusCode: 200, ReasonPhrase: 'OK', Version: 1.1, Content: System.Net.Http.StreamContent, Headers:
{
  Transfer-Encoding: chunked
  Connection: keep-alive
  CF-Ray: 721cd36acdd39b8e-FRA
  Strict-Transport-Security: max-age=31536000; includeSubDomains; preload
  CF-Cache-Status: HIT
  Content-Security-Policy: default-src 'self'; script-src 'self' 'unsafe-eval' 'unsafe-inline' 'nonce-MjQzLDIyNSwzNyw0NCwxMjQsMzMsMjUyLDIwNA==' {SO MANY LINKS IN HERE}; child-src 'self' https://assets.braintreegateway.com https://checkout.paypal.com;
  Expect-CT: max-age=604800, report-uri="https://report-uri.cloudflare.com/cdn-cgi/beacon/expect-ct"
  Permissions-Policy: interest-cohort=()
  Accept-Ranges: bytes
  Cache-Control: private
  Date: Mon, 27 Jun 2022 08:31:20 GMT
  Set-Cookie: __dcfduid=8588b5f0f5f311ec827b559434bc1011; Expires=Sat, 26 Jun 2027 08:31:20 GMT; Max-Age=157680000; Path=/; Secure; HttpOnly; SameSite=Lax
  Set-Cookie: __sdcfduid=8588b5f1f5f311ec827b559434bc10114cf2274546dfcece51abd88ca1d26b351c481e1d118dfc61dd412c779e6319ae; Expires=Sat, 26 Jun 2027 08:31:20 GMT; Max-Age=157680000; Path=/; Secure; HttpOnly; SameSite=Lax
  X-Build-Id: 0cf2da50ba679ca59cd2ad7cf29d7b53b16c935d
  X-Content-Type-Options: nosniff
  X-Frame-Options: DENY
  X-Robots-Tag: noindex, nofollow, noarchive, nocache, noimageindex, noodp
  X-XSS-Protection: 1; mode=block
  Report-To: {"endpoints":[{"url":"https:\/\/a.nel.cloudflare.com\/report\/v3?s=j5Yn49l0OBMaLNmg7di8AFyvWoT6kxrfRtRR9O%2BG2eLNTugo%2BE3ODVRQ9GPxIqGFpOA%2FqcZiyc0UZvH8k2jGuCmEHbi93FyN9pf%2FGYK570MHifsL3M4Xva6wr1zE"}],"group":"cf-nel","max_age":604800}
  NEL: {"success_fraction":0,"report_to":"cf-nel","max_age":604800}
  Server: cloudflare
  alt-svc: h3=":443"; ma=86400, h3-29=":443"; ma=86400
  Content-Type: text/html
  Last-Modified: Thu, 23 Jun 2022 17:54:33 GMT
}

所以它似乎將我重定向到 cloudflare。

我該如何解決?

我沒有使用 ASP.NET 或任何 web api。 我只使用 Discord OAuth2 api

我修復了那個異步方法問題。 response.Result.Content中有這個;

<!DOCTYPE html>
<html>
  <head>    <meta charset="utf-8" />
    <meta content="width=device-width, initial-scale=1.0, maximum-scale=3.0" name="viewport" />

    <!-- section:seometa -->
    <meta property="og:type" content="website" />
    <meta property="og:site_name" content="Discord" />
    <meta property="og:title" content="Discord - A New Way to Chat with Friends & Communities" />
    <meta
      property="og:description"
      content="Discord is the easiest way to communicate over voice, video, and text.  Chat, hang out, and stay close with your friends and communities." /><meta property="og:image" content="undefined//discord.com/assets/652f40427e1f5186ad54836074898279.png" />    <meta name="twitter:card" content="summary_large_image" />
    <meta name="twitter:site" content="@discord" />
    <meta name="twitter:creator" content="@discord" />

         {TOO MANY SCRİPT THİNGS}
    <link rel="icon" href="/assets/ec2c34cadd4b5f4594415127380a85e6.ico" />    <!-- section:title -->
    <title>Discord</title>
    <!-- endsection -->
  <script async nonce="MTE1LDQ4LDI2LDg1LDE1NSwyMzEsMTYsMTIy" src='/cdn-cgi/bm/cv/669835187/api.js'></script></head>
  <body>
    <div id="app-mount"></div><script nonce="MTE1LDQ4LDI2LDg1LDE1NSwyMzEsMTYsMTIy">window.__OVERLAY__ = /overlay/.test(location.pathname)</script><script nonce="MTE1LDQ4LDI2LDg1LDE1NSwyMzEsMTYsMTIy">window.__BILLING_STANDALONE__ = /^\/billing/.test(location.pathname)</script><script src="/assets/8cdf600873d1c69152ae.js" integrity="sha256-3doy4SGEEItg07umUuNENzPdrYj+V3m7CkcDnzfMj8k= sha512-ZnBxmdECu5IX10CsXJHu/i168hef8toDzXpWSWl8s4IdoUy8iepG4q3sqmmq7xwcxGrkpgWMozm4olR7wOTccA=="></script><script src="/assets/33477ca435122663924d.js" integrity="sha256-iC6Q3k6KmcVC4Y6Y9ymUzBeWVhJqyS22VVGD6Ej7/Uo= sha512-/IqDXW2T5fdYb2Pzg+9SBoRI3WF5zlbZRpnmL7fulLFqbbJLxS2LfK8mFq3YiVeoc8LvN+L4Df60g+uhnWyG2A=="></script><script src="/assets/4ab2e34c43716319b622.js" integrity="sha256-bPJ3Wrha2vPtaB5onpBCcQ9ka88ws1dU5zK1h0ghjoE= sha512-lRtXiiKJSTZbiQtwzWSmsbyKSFFIvZQQ8dmeWOWJ1tOizhsTrtWVjLqUl5MzNWBNXNBxOsscBSypguVsFxPpZg=="></script><script src="/assets/9203984985b99f5b24df.js" integrity="sha256-L4lUntE3fL7q4JvxPuLMXm8PuswdDBssHdyC3ScrtEk= sha512-5hGsxBJWM1BwHyaIQ1mnaonDgeOgXvmV++EVFTJ651/AVMkLsKiOWcSvnX8CT6D81hIpX4TQLdNSTCKZUIJg/A=="></script>  <script nonce="MTE1LDQ4LDI2LDg1LDE1NSwyMzEsMTYsMTIy" type="text/javascript">(function(){window['__CF$cv$params']={r:'721d1a14fcb89b51',m:'iz8jpGHkarduxb1Rs9MdeRuP_z1Lxjl3s_ccU32h.Oc-1656321575-0-ATDAKhJFOCniQzYTrbYg0wSZhyrzyzrNtomZrWr1IJItaIAkgR29VAfqWJJN7zpXPeS4VYjDUj05aDe1uHa+3EZcOIc1yc88SZUrfDEWKb3v1BmkLNb4Rq1CuTdoEs3/U8P+nre4b6sjEJ1B3QFBTmQJpYH1N68rr0UPy4SITHQCOrRXKTVI3rvrJq+Oe79dky8jl8g8h+QmO6RYzwSt/i/kLeSjEqsvoBcUpI1oT759WQqNywB16R6HlKAyyZ34MVgw6LEYrAKK8ZE0uelW/NCbZPEyZ1v9XGhiUGiRWgrcMAuiY5C+fKDoiFmzpDsAQQ==',s:[0xca7046567c,0xa5a9c67a10],}})();</script></body>
</html>

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM