Аутентификация с Expo-Auth-SessionJavascript

Форум по Javascript
Ответить
Anonymous
 Аутентификация с Expo-Auth-Session

Сообщение Anonymous »

Я пытаюсь кодировать свое первое приложение, используя React Native и Expo . Идея состоит в том, чтобы подключиться к электронной почте пользователя (либо Outlook, либо Google), вытащить несколько электронных писем на основе субъекта и отправителя и извлечь некоторую информацию из тел. Ожидаемое значение - это URI, который соответствует ERI перенаправления, зарегистрированного для этого клиентского приложения . Любое объяснение относительно того, что эти перенаправляющие URI были бы более чем приветствуются < /p>
в Azure, в части аутентификации я добавил две платформы, одну для iOS и еще один для Интернета. Веб -сайт просит перенаправить URI напрямую, в то время как iOS один создал по умолчанию после того, как я дал ему идентификатор пакета. Я даже попробовал обходной путь, используя страницы GitHub, но до сих пор ничего не сработало. < /P>
мой код: < /p>
import { makeRedirectUri, useAuthRequest, ResponseType } from 'expo-auth-session';
import * as WebBrowser from 'expo-web-browser';

WebBrowser.maybeCompleteAuthSession();

const discovery = {
authorizationEndpoint: 'https://login.microsoftonline.com/commo ... /authorize',
tokenEndpoint: 'https://login.microsoftonline.com/commo ... v2.0/token',
};

export const useMicrosoftAuth = () => {
const redirectUri = makeRedirectUri({
scheme: 'finky', // Must match app.json scheme
path: 'redirect'
});
console.log('Microsoft Redirect URI:', redirectUri); // prints Microsoft Redirect URI: exp://172.20.10.3:8081/--/redirect

const [request, response, promptAsync] = useAuthRequest(
{
clientId: process.env.EXPO_PUBLIC_MICROSOFT_CLIENT_ID!,
scopes: ['openid', 'profile', 'User.Read', 'Mail.Read'],
redirectUri,
responseType: ResponseType.Token, // For direct token response
},
discovery
);

const signIn = async () => {
try {
const result = await promptAsync();
if (result?.type === 'success') {
return result.authentication?.accessToken;
} else if (result?.type === 'error') {
console.error('[Microsoft SignIn] Authentication error:', result);
} else if (result?.type === 'dismiss') {
console.warn('[Microsoft SignIn] Authentication dismissed by user.');
} else {
console.warn('[Microsoft SignIn] Unexpected result:', result);
}
return null;
} catch (error) {
console.error('[Microsoft SignIn] Exception during sign-in:', error);
return null;
}
};

return { signIn, redirectUri };
};


Подробнее здесь: https://stackoverflow.com/questions/796 ... th-session
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Javascript»