コード例 #1
0
        public static string Connected(this MYDIGIPASSAuth mydigipass)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(mydigipass.ApiConnectUrl);

            request.InitializeRequest("GET", null);
            request.BasicAuthentication(mydigipass);

            return(request.GetWebResponse());
        }
コード例 #2
0
        private static void WriteStream(this HttpWebRequest request, MYDIGIPASSAuth mydigipass)
        {
            string jsonBody = JsonConvert.SerializeObject(mydigipass,
                                                          Newtonsoft.Json.Formatting.None,
                                                          new JsonSerializerSettings {
            });

            request.WriteStream(jsonBody);
        }
コード例 #3
0
        protected void _btnDisconnectUser_Click(object sender, EventArgs e)
        {
            MYDIGIPASSAuth mydigipass = (MYDIGIPASSAuth)HttpContext.Current.Session["MYDPSession"];

            if (mydigipass != null && mydigipass.Data != null)
            {
                mydigipass.DisconnectUser();

                Response.Write("<div>Disconnected!</div>");
            }
        }
コード例 #4
0
        public static string Disconnect(this MYDIGIPASSAuth mydigipass)
        {
            mydigipass.Uuids = mydigipass.Uuid.ToList(); // make sure only 1 uuid is passed

            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(mydigipass.ApiDisconnectUrl);

            request.InitializeRequest("POST", "application/json");
            request.BasicAuthentication(mydigipass);
            request.WriteStream(mydigipass);

            return(request.GetWebResponse());
        }
コード例 #5
0
        public static string Authenticate(this MYDIGIPASSAuth mydigipass)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(mydigipass.ApiAuthorizationUrl);

            request.InitializeRequest("GET", null);

            if (!String.IsNullOrEmpty(mydigipass.Token))
            {
                request.Headers["Authorization"] = String.Format("Bearer {0}", mydigipass.Token);
            }

            return(request.GetWebResponse());
        }
コード例 #6
0
        public static string GetToken(this MYDIGIPASSAuth mydigipass)
        {
            HttpWebRequest request = (HttpWebRequest)WebRequest.Create(mydigipass.ApiTokenUrl);

            request.InitializeRequest("POST", "application/x-www-form-urlencoded");

            if (!String.IsNullOrEmpty(mydigipass.Token))
            {
                request.Headers["Authorization"] = String.Format("Bearer {0}", mydigipass.Token);
            }

            request.WriteStream(mydigipass.TokenParameters);

            return(request.GetWebResponse());
        }
コード例 #7
0
        protected void Page_Load(object sender, EventArgs e)
        {
            if (Request["code"] != null && !IsPostBack)
            {
                MYDIGIPASSAuth mydigipass = new MYDIGIPASSAuth();
                mydigipass.ApiTokenUrl         = "https://sandbox.mydigipass.com/oauth/token";
                mydigipass.ApiAuthorizationUrl = "https://sandbox.mydigipass.com/oauth/user_data";
                mydigipass.ApiConnectUrl       = "https://sandbox.mydigipass.com/api/uuids/connected";
                mydigipass.ApiDisconnectUrl    = "https://sandbox.mydigipass.com/api/uuids/disconnected";
                mydigipass.ApiKey         = "{client-id}";
                mydigipass.ApiSecret      = "{client-secret}";
                mydigipass.ApiRedirectUri = "{redirect-uri}";
                mydigipass.ApiCode        = Request["code"];

                mydigipass.AccessToken();

                if (mydigipass.HasToken)
                {
                    mydigipass.Authorization();

                    if (!String.IsNullOrEmpty(mydigipass.Email))
                    {
                        // Object stored in Session only for test purpose
                        HttpContext.Current.Session["MYDPSession"] = mydigipass;
                        HttpContext.Current.Session.Timeout        = 20;

                        // Store UUID in your local database and then confirm user is connected to mydigipass.com
                        mydigipass.ConnectUser();

                        // Show the "ConnectedUsers" and "DisconnectUser" buttons for test purpose
                        _btnConnectedUsers.Enabled = true;
                        _btnDisconnectUser.Enabled = true;
                    }
                }
            }

            // Only for test purpose
            if ((MYDIGIPASSAuth)HttpContext.Current.Session["MYDPSession"] != null)
            {
                MYDIGIPASSAuth mydigipass = (MYDIGIPASSAuth)HttpContext.Current.Session["MYDPSession"];
                Response.Write(String.Format("<div>Successfully logged in with MYDIGIPASS.COM as: </div>", mydigipass.Email));
            }

            if (Request["error"] != null)
            {
                Response.Write(String.Format("<div>Error: {0}, {1}</div>", Request["error"], Request["error_description"]));
            }
        }
コード例 #8
0
        protected void _btnConnectedUsers_Click(object sender, EventArgs e)
        {
            MYDIGIPASSAuth mydigipass = (MYDIGIPASSAuth)HttpContext.Current.Session["MYDPSession"];

            if (mydigipass != null && mydigipass.Data != null)
            {
                mydigipass.ConnectedUsers();

                Response.Write("<div>List of UUIDs:</div><ul>");
                foreach (string uuid in mydigipass.Uuids)
                {
                    Response.Write("<li>" + uuid + "</li>");
                }
                Response.Write("</ul>");
            }
        }
コード例 #9
0
        private static HttpWebRequest BasicAuthentication(this HttpWebRequest request, MYDIGIPASSAuth mydigipass)
        {
            if (!String.IsNullOrEmpty(mydigipass.ApiKey) && !String.IsNullOrEmpty(mydigipass.ApiSecret))
            {
                string authInfo = mydigipass.ApiKey + ":" + mydigipass.ApiSecret;
                authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
                request.Headers["Authorization"] = "Basic " + authInfo;
            }

            return request;
        }
コード例 #10
0
 private static void WriteStream(this HttpWebRequest request, MYDIGIPASSAuth mydigipass)
 {
     string jsonBody = JsonConvert.SerializeObject(mydigipass,
                                                   Newtonsoft.Json.Formatting.None,
                                                   new JsonSerializerSettings { });
     request.WriteStream(jsonBody);
 }
コード例 #11
0
        private static HttpWebRequest BasicAuthentication(this HttpWebRequest request, MYDIGIPASSAuth mydigipass)
        {
            if (!String.IsNullOrEmpty(mydigipass.ApiKey) && !String.IsNullOrEmpty(mydigipass.ApiSecret))
            {
                string authInfo = mydigipass.ApiKey + ":" + mydigipass.ApiSecret;
                authInfo = Convert.ToBase64String(Encoding.Default.GetBytes(authInfo));
                request.Headers["Authorization"] = "Basic " + authInfo;
            }

            return(request);
        }