Unable to get accessToken in offline mode returning "null"?
Los mantenedores suelen responder en 1 día
Nadie ha tomado este issue todavía.
Evaluación
- Dificultad
- 4/5
- Tiempo estimado
- 3-5 días
- Aptitud para principiantes
- 20/100
- Tipo de issue
- Error
- Claridad
- Necesita aclaración
- Estado de actividad
- Estancado
- Stack tecnológico
- azure, javascript, react-native
- Área
- authentication, mobile
Línea de trabajo
El informe no menciona ningún archivo del repositorio ni ninguna prueba; comienza con el flujo mostrado de getAzureApiAccessConfig y getAccessTokenAsync, utilizando los endpoints de autorización y de token de Azure proporcionados. Reproduce el caso offline_access y rastrea si el token null procede de la biblioteca o de los datos de token almacenados por la aplicación. Se considera terminado cuando se identifica un defecto reproducible de la biblioteca o se documenta el cambio de configuración requerido.
Escrito por el modelo de indexación a partir del texto del issue.
Descripción
In offline mode, the Access token returns null even added the "offline_access" in the scope
Here the scope
API_ACCESS_SCOPE: [
'offline_access',
'api://xxxxxxxxxxxxxxxxxx/api-access',
],
getAzureApiAccessConfig() {
return {
issuer: ${MS_BASE_API_URL}${TENANT_ID}/v2.0,
clientId: APP_ID,
redirectUrl: REDIRECT_URL,
scopes: API_ACCESS_SCOPE,
// additionalParameters: {prompt: 'select_account'},
serviceConfiguration: {
authorizationEndpoint: `${MS_BASE_API_URL}${TENANT_ID}/oauth2/v2.0/authorize`,
tokenEndpoint: `${MS_BASE_API_URL}${TENANT_ID}/oauth2/v2.0/token`,
revocationEndpoint: `${MS_BASE_API_URL}${TENANT_ID}/oauth2/v2.0/logout`,
},
};
}
async getAccessTokenAsync() {
try {
const userInfo = await this.getUserInfo();
const expireTime = userInfo.apiAccessTokens
? userInfo.apiAccessTokens.expiryTime
: null;
console.log('expireTime :>> ', expireTime);
if (expireTime !== null) {
// Get expiration time - 5 minutes
// If it's <= 5 minutes before expiration, then refresh
const expire = sub(parseISO(expireTime), {minutes: 5});
const now = new Date();
console.log(
'Expire comparison :>> ',
expire,
now,
compareAsc(now, expire),
);
if (compareAsc(now, expire) >= 0) {
// Expired, refresh
console.log('Refreshing token');
const refreshToken = userInfo.apiAccessTokens
? userInfo.apiAccessTokens.refreshToken
: null;
console.log(`Refresh token: ${refreshToken}`);
const result = await refresh(this.getAzureApiAccessConfig(), {
refreshToken: refreshToken || '',
});
if (!result?.accessToken) {
await this.logOut();
return null;
}
// Store the new access token, refresh token, and expiration time in storage
await SECURE_STORAGE.saveData(KEY_AUTH_USER_INFO, {
...userInfo,
apiAccessTokens: {
accessToken: result.accessToken,
refreshToken: result.refreshToken ?? '',
expiryTime: result.accessTokenExpirationDate,
},
});
return result.accessToken;
}
// Not expired, just return saved access token
const accessToken = userInfo.apiAccessTokens
? userInfo.apiAccessTokens.accessToken
: null;
return accessToken;
}
return null;
} catch (error) {
console.log('error while fetching access token :>> ', error);
await this.logOut();
return null;
}
}
please help me what's went wrong?
- Lenguaje dominante
- Java
- Estrellas
- 2.3k
- Forks
- 473
- Métricas de merge de PR
- Sin PR fusionados en 30 d
Preparar el entorno
Primeros pasos
- Lee el issue completo y luego la guía de contribución del proyecto.
- Comenta en el issue que vas a ocuparte — evita que dos personas hagan lo mismo.
- Haz un fork del repositorio y trabaja en una rama.
- Abre un pull request que haga referencia al número del issue.
Más de FormidableLabs/react-native-app-auth
-
Dificultad 4/5 3-5 días Aptitud para principiantes 62/100
FormidableLabs/react-native-app-auth#1126 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
FormidableLabs/react-native-app-auth#1118 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 35/100
FormidableLabs/react-native-app-auth#1111 ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 48/100
FormidableLabs/react-native-app-auth#1108 · 1 comentario ·
Los mantenedores suelen responder en 1 día
-
Dificultad 4/5 3-5 días Aptitud para principiantes 28/100
FormidableLabs/react-native-app-auth#1107 ·
Los mantenedores suelen responder en 1 día
Todos los issues de FormidableLabs/react-native-app-auth
Issues similares
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 84/100
Los mantenedores suelen responder en 1 día
-
bug
Dificultad 2/5 1-3 horas Aptitud para principiantes 82/100
Los mantenedores suelen responder en 1 día
-
ci-failure-cause test-failure
Dificultad 2/5 1-3 horas Aptitud para principiantes 72/100
Los mantenedores suelen responder en 1 día
-
enhancement
Dificultad 2/5 1-3 horas Aptitud para principiantes 65/100
nextcloud/notes-android#3367 ·
Los mantenedores suelen responder en 1 día
-
:wave: team-triage a:chore in:isolated-projects in:kotlin-dsl
Dificultad 2/5 1-3 horas Aptitud para principiantes 78/100
Los mantenedores suelen responder en 1 día