예제 #1
0
        //得到accesstoken 如果文件里时间 超时则重新获取
        private string getAccessToken()
        {
            // access_token 应该全局存储与更新,以下代码以写入到文件中做示例
            string     access_token = "";
            string     path         = HttpContext.Current.Server.MapPath(@"/weixin/access_token.json");
            FileStream file         = new FileStream(path, FileMode.Open);
            var        serializer   = new DataContractJsonSerializer(typeof(AccToken));
            AccToken   readJSTicket = (AccToken)serializer.ReadObject(file);

            file.Close();
            if (readJSTicket.expires_in < ConvertDateTimeInt(DateTime.Now))
            {
                string url = "https://api.weixin.qq.com/cgi-bin/token?grant_type=client_credential&appid=" + appId + "&secret=" + appSecret + "";

                AccToken iden = Desrialize <AccToken>(new AccToken(), httpGet(url));

                access_token = iden.access_token;
                if (access_token != "")
                {
                    iden.expires_in   = ConvertDateTimeInt(DateTime.Now) + 7000;
                    iden.access_token = access_token;

                    string json = Serialize <AccToken>(iden);
                    StreamWriterMetod(json, path);
                }
            }
            else
            {
                access_token = readJSTicket.access_token;
            }
            return(access_token);
        }
예제 #2
0
        public void DeleteRoleFromUser(string UserID, string RoleID)
        {
            var    client      = new RestClient($"https://dev-5rw-rtkk.eu.auth0.com/api/v2/users/{UserID}/roles");
            string accessToken = AccToken.GetAccessToken();
            var    request     = new RestRequest(Method.DELETE);

            request.AddHeader("content-type", "application/json");
            request.AddHeader("authorization", $"Bearer {accessToken}");
            request.AddHeader("cache-control", "no-cache");
            request.AddParameter("application/json", $"{{ \"roles\": [ \"{RoleID}\", \"{RoleID}\" ] }}", ParameterType.RequestBody);
            IRestResponse response = client.Execute(request);
        }
예제 #3
0
        public void DeleteUser(string id)
        {
            //https://dev-5rw-rtkk.eu.auth0.com/api/v2/users/bvcb

            var    client      = new RestClient($"https://dev-5rw-rtkk.eu.auth0.com/api/v2/users/{id}");
            string accessToken = AccToken.GetAccessToken();
            var    request     = new RestRequest(Method.DELETE);

            request.AddHeader("content-type", "application/json");
            request.AddHeader("authorization", $"Bearer {accessToken}");
            request.AddHeader("cache-control", "no-cache");
            IRestResponse response = client.Execute(request);
        }
예제 #4
0
        public Role GetUserRoles(string UserID)
        {
            var    client      = new RestClient($"https://dev-5rw-rtkk.eu.auth0.com/api/v2/users/{UserID}/roles");
            var    request     = new RestRequest(Method.GET);
            string accessToken = AccToken.GetAccessToken();

            request.AddHeader("authorization", $"Bearer {accessToken}");
            IRestResponse response = client.Execute(request);

            JavaScriptSerializer json_serializer = new JavaScriptSerializer();
            Role userRole = json_serializer.Deserialize <List <Role> >(response.Content).FirstOrDefault();

            return(userRole);
        }