fix(headless): use fetch instead of axios for auth
This commit is contained in:
parent
644480182d
commit
09ea8cd563
1 changed files with 31 additions and 23 deletions
|
@ -11,22 +11,26 @@ import {
|
||||||
|
|
||||||
import { getDeviceUuid } from "./deviceUuid";
|
import { getDeviceUuid } from "./deviceUuid";
|
||||||
|
|
||||||
// to support refresh auth in headless mode we'll use axios instead of apollo
|
// to support refresh auth in headless mode we'll use fetch instead of apollo/axios
|
||||||
// read more https://github.com/transistorsoft/react-native-background-fetch/issues/562
|
// read more https://github.com/transistorsoft/react-native-background-fetch/issues/562
|
||||||
|
|
||||||
export async function registerUser() {
|
export async function registerUser() {
|
||||||
const { data } = await network.axios.post(
|
const response = await fetch(env.GRAPHQL_URL, {
|
||||||
env.GRAPHQL_URL,
|
method: "POST",
|
||||||
{
|
|
||||||
query: REGISTER_USER_MUTATION_STRING,
|
|
||||||
},
|
|
||||||
{
|
|
||||||
headers: {
|
headers: {
|
||||||
// Skip adding Authorization header for this request
|
"Content-Type": "application/json",
|
||||||
Authorization: undefined,
|
// No Authorization header for this request
|
||||||
},
|
},
|
||||||
},
|
body: JSON.stringify({
|
||||||
);
|
query: REGISTER_USER_MUTATION_STRING,
|
||||||
|
}),
|
||||||
|
});
|
||||||
|
|
||||||
|
if (!response.ok) {
|
||||||
|
throw new Error(`HTTP Error: ${response.status} ${response.statusText}`);
|
||||||
|
}
|
||||||
|
|
||||||
|
const data = await response.json();
|
||||||
|
|
||||||
if (data.errors && data.errors.length > 0) {
|
if (data.errors && data.errors.length > 0) {
|
||||||
const message = data.errors.map((err) => err.message).join("; ");
|
const message = data.errors.map((err) => err.message).join("; ");
|
||||||
|
@ -39,23 +43,27 @@ export async function registerUser() {
|
||||||
|
|
||||||
export async function loginUserToken({ authToken }) {
|
export async function loginUserToken({ authToken }) {
|
||||||
const deviceUuid = await getDeviceUuid();
|
const deviceUuid = await getDeviceUuid();
|
||||||
const { data } = await network.axios.post(
|
const response = await fetch(env.GRAPHQL_URL, {
|
||||||
env.GRAPHQL_URL,
|
method: "POST",
|
||||||
{
|
headers: {
|
||||||
|
"Content-Type": "application/json",
|
||||||
|
// No Authorization header for this request
|
||||||
|
},
|
||||||
|
body: JSON.stringify({
|
||||||
query: LOGIN_USER_TOKEN_MUTATION_STRING,
|
query: LOGIN_USER_TOKEN_MUTATION_STRING,
|
||||||
variables: {
|
variables: {
|
||||||
authTokenJwt: authToken,
|
authTokenJwt: authToken,
|
||||||
phoneModel: Device.modelName,
|
phoneModel: Device.modelName,
|
||||||
deviceUuid,
|
deviceUuid,
|
||||||
},
|
},
|
||||||
},
|
}),
|
||||||
{
|
});
|
||||||
headers: {
|
|
||||||
// Skip adding Authorization header for this request
|
if (!response.ok) {
|
||||||
Authorization: undefined,
|
throw new Error(`HTTP Error: ${response.status} ${response.statusText}`);
|
||||||
},
|
}
|
||||||
},
|
|
||||||
);
|
const data = await response.json();
|
||||||
|
|
||||||
if (data.errors && data.errors.length > 0) {
|
if (data.errors && data.errors.length > 0) {
|
||||||
const message = data.errors.map((err) => err.message).join("; ");
|
const message = data.errors.map((err) => err.message).join("; ");
|
||||||
|
|
Loading…
Add table
Reference in a new issue