Bug: fix: revert mget use authorization



In the hosted environment, where we have multiple redis clusters `mget` is not working as expected and throwing the following error: `Unknown Error: CROSSSLOT Keys in request don't hash to the same slot`.

Temporary fix is to revert the PR which is using `mget`
diff --git a/crates/router/src/services/authentication/blacklist.rs b/crates/router/src/services/authentication/blacklist.rs
index b5cdcaf0840..2ee8302be63 100644
--- a/crates/router/src/services/authentication/blacklist.rs
+++ b/crates/router/src/services/authentication/blacklist.rs
@@ -80,25 +80,19 @@ pub async fn check_user_in_blacklist<A: AppStateInfo>(
         .map(|timestamp| timestamp.map_or(false, |timestamp| timestamp > token_issued_at))
 }
 
-pub async fn check_user_and_role_in_blacklist<A: AppStateInfo>(
+pub async fn check_role_in_blacklist<A: AppStateInfo>(
     state: &A,
-    user_id: &str,
     role_id: &str,
     token_expiry: u64,
 ) -> RouterResult<bool> {
-    let user_token = format!("{}{}", USER_BLACKLIST_PREFIX, user_id);
-    let role_token = format!("{}{}", ROLE_BLACKLIST_PREFIX, role_id);
+    let token = format!("{}{}", ROLE_BLACKLIST_PREFIX, role_id);
     let token_issued_at = expiry_to_i64(token_expiry - JWT_TOKEN_TIME_IN_SECS)?;
     let redis_conn = get_redis_connection(state)?;
-
-    Ok(redis_conn
-        .get_multiple_keys::<Vec<&str>, i64>(vec![user_token.as_str(), role_token.as_str()])
+    redis_conn
+        .get_key::<Option<i64>>(token.as_str())
         .await
-        .change_context(ApiErrorResponse::InternalServerError)?
-        .into_iter()
-        .max()
-        .flatten()
-        .map_or(false, |timestamp| timestamp > token_issued_at))
+        .change_context(ApiErrorResponse::InternalServerError)
+        .map(|timestamp| timestamp.map_or(false, |timestamp| timestamp > token_issued_at))
 }
 
 #[cfg(feature = "email")]
@@ -156,7 +150,10 @@ impl BlackList for AuthToken {
     where
         A: AppStateInfo + Sync,
     {
-        check_user_and_role_in_blacklist(state, &self.user_id, &self.role_id, self.exp).await
+        Ok(
+            check_user_in_blacklist(state, &self.user_id, self.exp).await?
+                || check_role_in_blacklist(state, &self.role_id, self.exp).await?,
+        )
     }
 }
 

## Type of Change
<!-- Put an `x` in the boxes that apply -->

- [x] Bugfix
- [ ] New feature
- [ ] Enhancement
- [ ] Refactoring
- [ ] Dependency updates
- [ ] Documentation
- [ ] CI/CD

## Description
`mget` is not working in the hosted version. So, this PR will revert the #3945 which uses `mget``.

### Additional Changes

- [ ] This PR modifies the API contract
- [ ] This PR modifies the database schema
- [ ] This PR modifies application configuration/environment variables

<!--
Provide links to the files with corresponding changes.

Following are the paths where you can find config files:
1. `config`
2. `crates/router/src/configs`
3. `loadtest/config`
-->


## Motivation and Context
closes #4000 

## How did you test it?
Authentication and authorization should work as expected.
1. Signin with any user
	```
	curl --location 'http://localhost:8080/user/signin' \
	--header 'Content-Type: application/json' \
	--data-raw '{
	    "email": "user email",
	    "password": "password"
	}'
	```
	Response:
	```
	{
	    "token": JWT,
	    "merchant_id": "merchant_id",
	    "name": "user name"
	    "email": "user email",
	    "verification_days_left": null,
	    "user_role": "org_admin"
	}
	```
2. Try to hit any api which uses token.
	```
	curl --location 'http://localhost:8080/user/role/list?groups=true' \
	--header 'Authorization: Bearer JWT'
	```
	Response:
	```
	[
	    {
	        "role_id": "merchant_view_only",
	        "groups": [
	            "operations_view",
	            "connectors_view",
	            "workflows_view",
	            "analytics_view",
	            "users_view",
	            "merchant_details_view"
	        ],
	        "role_name": "view_only",
	        "role_scope": "organization"
	    },
	    {
	        "role_id": "merchant_operator",
	        "groups": [
	            "operations_view",
	            "operations_manage",
	            "connectors_view",
	            "workflows_view",
	            "analytics_view",
	            "users_view",
	            "merchant_details_view"
	        ],
	        "role_name": "operator",
	        "role_scope": "organization"
	    },
	    {
	        "role_id": "merchant_admin",
	        "groups": [
	            "operations_view",
	            "operations_manage",
	            "connectors_view",
	            "connectors_manage",
	            "workflows_view",
	            "workflows_manage",
	            "analytics_view",
	            "users_view",
	            "users_manage",
	            "merchant_details_view",
	            "merchant_details_manage"
	        ],
	        "role_name": "admin",
	        "role_scope": "organization"
	    },
	    {
	        "role_id": "merchant_iam_admin",
	        "groups": [
	            "operations_view",
	            "analytics_view",
	            "users_view",
	            "users_manage",
	            "merchant_details_view"
	        ],
	        "role_name": "iam",
	        "role_scope": "organization"
	    },
	    {
	        "role_id": "merchant_developer",
	        "groups": [
	            "operations_view",
	            "connectors_view",
	            "analytics_view",
	            "users_view",
	            "merchant_details_view",
	            "merchant_details_manage"
	        ],
	        "role_name": "developer",
	        "role_scope": "organization"
	    },
	    {
	        "role_id": "merchant_customer_support",
	        "groups": [
	            "operations_view",
	            "analytics_view",
	            "users_view",
	            "merchant_details_view"
	        ],
	        "role_name": "customer_support",
	        "role_scope": "organization"
	    }
	]
	```

## Checklist
<!-- Put an `x` in the boxes that apply -->

- [x] I formatted the code `cargo +nightly fmt --all`
- [x] I addressed lints thrown by `cargo clippy`
- [x] I reviewed the submitted code
- [ ] I added unit tests for my changes where possible
- [ ] I added a [CHANGELOG](/CHANGELOG.md) entry if applicable
