I would like you to guide me a bit with this. I am trying to consume an API Rest in C # and have an authentication where I must pass these parameters or values: username
, password
, client_id
, client_secret
, grant_type
, scope
but I do not know how to pass those values.
I'm doing something like this:
HttpWebRequest request = WebRequest.Create("MiDireccionAPI") as HttpWebRequest;
request.Method = "POST";
request.ContentType = "application/x-www-form-urlencoded"; //"application/json; charset=utf-8";
request.Headers.Add("username", "miUsuario");
request.Headers.Add("password", "MiClave");
request.Headers.Add("grant_type", "Migrant_type");
request.Headers.Add("client_id", "Miclient_id");
HttpWebResponse response = request.GetResponse() as HttpWebResponse;
StreamReader reader = new StreamReader(response.GetResponseStream());
string resp = reader.ReadToEnd();
And it's supposed that he should return a token like this and a code 200
:
eyJhbGciOiJSUzI1NiJ9.eyJqdGkiOiI0ZTJjZTBlZC02ZDQwLTRmY2EtODgwNS1lMzg0NzdmZmVlNWUiLCJleHAiOjE0OTEyMzEyMzUsIm5iZiI6MCwiaWF0IjoxNDkxMjMwOTM1LCJpc3MiOiJodHRwczovL2lkcC5jb21wcm9iYW50ZXNlbGVjdHJvbmljb3MuZ28uY3IvYXV0aC9yZWFsbXMvcnV0LXN0YWciLCJhdWQiOiJhcGktc3RhZyIsInN1YiI6ImQ1NzQ2NDc0LWVhZWYtNDNkNS05MmE2LTQ4MWQyM2ZlOTM5OSIsInR5cCI6IkJlYXJlciIsImF6cCI6ImFwaS1zdGFnIiwic2Vzc2lvbl9zdGF0ZSI6IjM0Y2Y2MWJiLWU4ZTgtNDYzZS1iMTJjLTFjNTFhYzdmMGE3ZCIsImNsaWVudF9zZXNzaW9uIjoiZDQzNjRmOGUtZmFjOS00NjRiLWE2NzgtYWI2OWU5ODE0YzU4IiwiYWxsb3dlZC1vcmlnaW5zIjpbXSwicmVzb3VyY2VfYWNjZXNzIjp7ImFjY291bnQiOnsicm9sZXMiOlsibWFuYWdlLWFjY291bnQiLCJ2aWV3LXByb2ZpbGUiXX19LCJuYW1lIjoiR0VTVElPTiBFTiBURUNOT0xPR0lBIEUgSU5GT1JNQUNJT04gRyBUIEkgU09DSUVEQUQgQU5PTklNQSAiLCJwcmVmZXJyZWRfdXNlcm5hbWUiOiJjcGotMy0xMDEtMjI1ODkwQHN0YWcuY29tcHJvYmFudGVzZWxlY3Ryb25pY29zLmdvLmNyIiwiZ2l2ZW5fbmFtZSI6IkdFU1RJT04gRU4gVEVDTk9MT0dJQSBFIElORk9STUFDSU9OIEcgVCBJIFNPQ0lFREFEIEFOT05JTUEiLCJwb2xpY3ktaWQiOiI1OGE2MjAzMzc2ZWFlMTQwOGNlNWU3ZGQiLCJlbWFpbCI6ImNwai0zLTEwMS0yMjU4OTBAc3RhZy5jb21wcm9iYW50ZXNlbGVjdHJvbmljb3MuZ28uY3IifQ.UyHf8uJg3y6i0mKBlAsCpDKCfO_s5rASurzGgcBfc0Y8jm0cPPPZLNqKbQYXm0NUvpUVnNuC5O634cUFoOFlAOaAQwdnQbki34nXcRn9vb3YXj7bpOKmK1RFoB-Hf6rJ843VQQzC4vHxMUTOOa5k32gFNcWEnlVHclitGRZezJbozYeqCUi3VbzShMPKFAAT5gcDZgw6tgl7gbwiu4Mf4vCvJamKTfaziBBhj-3gVe5yXnEp-WfaH87B3rV9xM69SJ-EGJ1wxfUN3E7PTqjanYGDjA24UY-NRASwfJV9Gwyikk4irSGNCbAiRm70NCaGwFEMjzBetwp0avG0g_tu9Q
But I get error 400
because I imagine that the past of the parameters is wrong.
If someone clarifies to me how to pass this type of values to an API, since I am a beginner in this and I did not find something that really serves me.
EDIT:
I have a website made in asp.net that makes invoices and I must consume this API and which uses OAuth 2.0, this API is from a government entity in my country that is responsible for receiving invoices for this API but this API a token must be generated to be able to send what is occupied.
What I'm trying to do is generate that token to send the invoices.
This website is published on a server.