C# 生成不同类型的OAuth访问令牌以访问SOAP服务的通用方法?

C# 生成不同类型的OAuth访问令牌以访问SOAP服务的通用方法?,c#,.net,soap,oauth,httpwebrequest,C#,.net,Soap,Oauth,Httpwebrequest,通过使用下面的代码,我正在生成承载OAuth访问令牌,以通过使用HttpWebRequest访问SOAP服务 public string GenerateAccessToken() { System.Net.WebRequest request = System.Net.HttpWebRequest.Create("https://exampple.com/ccx/oauth2/token"); request.Method = "P

通过使用下面的代码,我正在生成承载OAuth访问令牌,以通过使用
HttpWebRequest
访问SOAP服务

public string GenerateAccessToken()
{
        System.Net.WebRequest request = System.Net.HttpWebRequest.Create("https://exampple.com/ccx/oauth2/token");
        request.Method = "POST";
        request.ContentType = "application/x-www-form-urlencoded";

        NameValueCollection outgoingQueryString = HttpUtility.ParseQueryString(String.Empty);
        outgoingQueryString.Add("grant_type", "refresh_token");
        outgoingQueryString.Add("refresh_token", "value");
        outgoingQueryString.Add("client_id", value);
        outgoingQueryString.Add("client_secret", value);
        byte[] postBytes = new ASCIIEncoding().GetBytes(outgoingQueryString.ToString());

        Stream postStream = request.GetRequestStream();
        postStream.Write(postBytes, 0, postBytes.Length);
        postStream.Flush();
        postStream.Close();

        using (System.Net.WebResponse response = request.GetResponse())
        {
            using (System.IO.StreamReader streamReader = new System.IO.StreamReader(response.GetResponseStream()))
            {
                dynamic jsonResponseText = streamReader.ReadToEnd();
                // Parse the JSON the way you prefer
                RefreshTokenResultJSON jsonResult = new System.Web.Script.Serialization.JavaScriptSerializer().Deserialize(jsonResponseText, typeof(RefreshTokenResultJSON));
                accessToken = jsonResult.access_token;
            }
        }
return accessToken;
        }
通过这段代码,我生成了承载类型的访问令牌,但我想让它成为一些通用的,比如, 今天我们使用的是
example.com Soap服务
,它使用的是承载类型,明天我们将使用 另一个
SOAP服务,如demo.com
,使用JWT类型,与另一个
sample.com SOAP服务相同,使用基本类型

那么,我如何创建一个通用方法来生成所有类型的OAuth访问令牌,如承载、JWT、Basic、API密钥等

(单个方法可以支持所有Oauth)

有什么建议或参考资料吗

对不起,我的英语:) 短暂性脑缺血发作