def authenticate_user_in_azure_ad(self, identity, authentication_service): credentials = identity.getCredentials() user_name = credentials.getUsername() user_password = credentials.getPassword() print "ThumbSignIn. user_name: %s" % user_name logged_in = False if StringHelper.isNotEmptyString(user_name) and StringHelper.isNotEmptyString(user_password): # Special condition to allow for Gluu admin login if StringHelper.equals(user_name, ADMIN): return self.authenticate_user_in_gluu_ldap(authentication_service, user_name, user_password) # Authenticate user credentials with Azure AD non-interactively azure_auth_response = self.azureAuthConnector.authenticateUserInAzure(azure_tenant_id, user_name, user_password, azure_client_id, azure_client_secret) print "ThumbSignIn. Value of azure_auth_response is %s" % azure_auth_response azure_auth_response_json = JSONObject(azure_auth_response) if azure_auth_response_json.has(azure_user_uuid): # Azure authentication has succeeded. User needs to be enrolled in Gluu LDAP user = self.enroll_azure_user_in_gluu_ldap(azure_auth_response_json) if user is None: # User Enrollment in Gluu LDAP has failed logged_in = False else: # Authenticating the user within Gluu user_authenticated_in_gluu = authentication_service.authenticate(user.getUserId()) print "ThumbSignIn: Authentication status of the user enrolled in Gluu LDAP %r " % user_authenticated_in_gluu return user_authenticated_in_gluu else: # Azure authentication has failed. logged_in = False return logged_in
def __call__(self): # url地址 url = 'http://183.131.22.111/feeds/com.oppo.os.ads.show.feed.service.IFeedListRankSvc' # headers信息 headers = [NVPair("Content-Type", "application/json"), NVPair("Accept-Encoding", "gzip") ] # JSON格式的请求内容 imei = "86" + str(random.randint(1000000000000, 99999999999999)) submitdata = '{"methodName": "listFeedRank", "arguments": [{"parModuleId": "100", "posIds": "1", "networkId": "7", "openId": "sadlkalksjdasjd", "appVersion": "3.0.1", "clientTime": "", "contextTag": "[a,b,c],[e,f,g]", "location": "武汉", "pageStart": "0", "androidVersion": "4.4.4", "channel": "2", "category": "0", "dataType": "feed_show", "eventValue": "0", "imei": %s, "osVersion": "V2.1.0", "model": "X907", "moduleId": "8000", "sdkVersion": "", "ssoid": "11022", "romVersion": "000", "sessionId": "", "seqId": "", "systemId": "9", "clientIp": "222.248.000.000","carrier": "1","isDown": true,"down": 2,"up": 0}]}' % imei # URL请求 try: result = request1.POST(url, submitdata, headers) retcode = result.getStatusCode() flag = False if retcode == 200: message = result.getText() json = JSONObject(message) if json.has("data") == True: data = json.getJSONObject("data"); adlist = data.getJSONArray("adList"); for i in range(0, adlist.length()): adId = adlist.getJSONObject(i) value = adId.get("adId") if value==336: flag = True else: flag = False grinder.logger.info('imei1=' + imei) grinder.logger.info("result1=" + result.getText()) else: flag = False grinder.logger.info('imei2=' + imei) grinder.logger.info("result2=" + result.getText()) else: flag = False grinder.logger.info("statusCode3=" + str(retcode)) grinder.logger.info('imei3=' + imei) grinder.logger.info("result3=" + result.getText()) # 打印输出URL请求返回内容 # 返回结果检查,有返回特定字符,则判断请求成功 if flag == True: grinder.statistics.forLastTest.success = 1 else: grinder.statistics.forLastTest.success = 0 except TimeoutException, e: grinder.statistics.forLastTest.success = 0 grinder.logger.info("TimeoutException=" + str(e))
def set_relying_party_login_url(identity): print "ThumbSignIn. Inside set_relying_party_login_url..." session_id = identity.getSessionId() session_attribute = session_id.getSessionAttributes() state_jwt_token = session_attribute.get("state") print "ThumbSignIn. Value of state_jwt_token is %s" % state_jwt_token relying_party_login_url = "" if (state_jwt_token is None) or ("." not in state_jwt_token): print "ThumbSignIn. Value of state parameter is not in the format of JWT Token" identity.setWorkingParameter(RELYING_PARTY_LOGIN_URL, relying_party_login_url) return None state_jwt_token_array = String(state_jwt_token).split("\\.") state_jwt_token_payload = state_jwt_token_array[1] state_payload_str = String( Base64Util.base64urldecode(state_jwt_token_payload), "UTF-8") state_payload_json = JSONObject(state_payload_str) print "ThumbSignIn. Value of state JWT token Payload is %s" % state_payload_json if state_payload_json.has("additional_claims"): additional_claims = state_payload_json.get("additional_claims") relying_party_id = additional_claims.get(RELYING_PARTY_ID) print "ThumbSignIn. Value of relying_party_id is %s" % relying_party_id identity.setWorkingParameter(RELYING_PARTY_ID, relying_party_id) if String(relying_party_id).startsWith("google.com"): # google.com/a/unphishableenterprise.com relying_party_id_array = String(relying_party_id).split("/") google_domain = relying_party_id_array[2] print "ThumbSignIn. Value of google_domain is %s" % google_domain relying_party_login_url = "https://www.google.com/accounts/AccountChooser?hd=" + google_domain + "%26continue=https://apps.google.com/user/hub" # elif (String(relying_party_id).startsWith("xyz")): # relying_party_login_url = "xyz.com" else: # If relying_party_login_url is empty, Gluu's default login URL will be used relying_party_login_url = "" print "ThumbSignIn. Value of relying_party_login_url is %s" % relying_party_login_url identity.setWorkingParameter(RELYING_PARTY_LOGIN_URL, relying_party_login_url) return None
def set_relying_party_login_url(identity): print "ThumbSignIn. Inside set_relying_party_login_url..." session_id = identity.getSessionId() session_attribute = session_id.getSessionAttributes() state_jwt_token = session_attribute.get("state") print "ThumbSignIn. Value of state_jwt_token is %s" % state_jwt_token relying_party_login_url = "" if (state_jwt_token is None) or ("." not in state_jwt_token): print "ThumbSignIn. Value of state parameter is not in the format of JWT Token" identity.setWorkingParameter(RELYING_PARTY_LOGIN_URL, relying_party_login_url) return None state_jwt_token_array = String(state_jwt_token).split("\\.") state_jwt_token_payload = state_jwt_token_array[1] state_payload_str = String(Base64Util.base64urldecode(state_jwt_token_payload), "UTF-8") state_payload_json = JSONObject(state_payload_str) print "ThumbSignIn. Value of state JWT token Payload is %s" % state_payload_json if state_payload_json.has("additional_claims"): additional_claims = state_payload_json.get("additional_claims") relying_party_id = additional_claims.get(RELYING_PARTY_ID) print "ThumbSignIn. Value of relying_party_id is %s" % relying_party_id identity.setWorkingParameter(RELYING_PARTY_ID, relying_party_id) if String(relying_party_id).startsWith("google.com"): # google.com/a/unphishableenterprise.com relying_party_id_array = String(relying_party_id).split("/") google_domain = relying_party_id_array[2] print "ThumbSignIn. Value of google_domain is %s" % google_domain relying_party_login_url = "https://www.google.com/accounts/AccountChooser?hd="+ google_domain + "%26continue=https://apps.google.com/user/hub" # elif (String(relying_party_id).startsWith("xyz")): # relying_party_login_url = "xyz.com" else: # If relying_party_login_url is empty, Gluu's default login URL will be used relying_party_login_url = "" print "ThumbSignIn. Value of relying_party_login_url is %s" % relying_party_login_url identity.setWorkingParameter(RELYING_PARTY_LOGIN_URL, relying_party_login_url) return None
quit() config = loadjson( configfn ) tz = TimeZone.getDefault() if config.has( "tz" ): tz = TimeZone.getTimeZone( config.getString( "tz" ) ) statefn = config.getString( "statefile" ) if os.path.isfile( statefn ): states = loadjson( statefn ) else: states = JSONObject() jobsdesc = config.getJSONArray( "jobs" ) jobs = {} for i in range( jobsdesc.length() ): j = Job( jobsdesc.getJSONObject( i ), tz ) if states.has( j.id ): j.setState( states.getJSONObject( j.id ) ) jobs[j.id] = j for i in startlist: jobs[i].start() for i in stoplist: jobs[i].stop() if lst: for i in jobs: print "Job:\t+" jobs[i].dump( " \t| ", " \t|- " ) if run: