Saya menggunakan paket "@auth0/auth0-react": "^1.5.0" untuk otentikasi pkce. Saya mencoba mengatur scope, tetapi sepertinya tidak berhasil:

// method1 which I've tried
   <Auth0Provider
      domain={urls().oauth}
      clientId={apiConstants.clientId}
      redirectUri={urls().redirect}
      scope="read"
    >
          <AppRouter />
    </Auth0Provider>

// method2 in the loginWithRedirect
import { useAuth0 } from '@auth0/auth0-react';

function Auth0LoginButton() {
  const { isAuthenticated, loginWithRedirect } = useAuth0();

  return isAuthenticated ? null : (
    <button onClick={() => loginWithRedirect({ scope: "read" })}>
      Log in via Auth0 PKCE
    </button>
  );
}

export default Auth0LoginButton;

Juga mencoba kedua metode bersama-sama, tetapi tidak ada kemajuan. Outputnya akan selalu scope=openid profile email read. Bagaimana saya bisa memperbaiki ini?

0
SeyyedKhandon 10 Mei 2021, 10:54

1 menjawab

Jawaban Terbaik

Seperti yang kita bahas di sini di github auth0-react, inilah jawaban pengelola :

Cakupan apa pun yang Anda tetapkan di Penyedia atau saat memanggil loginWithRedirect akan ditambahkan ke cakupan default yang dikonfigurasi, yang disetel ke openid profile email secara default.

Seperti yang didokumentasikan dalam Opsi Lanjutan, Jika Anda tidak melakukannya menginginkan default scope itu, Anda dapat menimpanya dengan menggunakan:

<Auth0Provider  advancedOptions={{defaultScope: ''}}>...</Auth0Provider>

Perlu diingat, openid akan selalu ditambahkan, apa pun yang Anda gunakan sebagai defaultScope, karena wajib.

0
SeyyedKhandon 10 Mei 2021, 09:23