0

angular-oauth2-oidcライブラリをAuth0 および Githubと統合しようとしています。Auth0/Github UI 側から、すべてのスコープを (安全のために) 選択したことを心に留めておいてください。

最新機能の使用

angular-oauth2-oidcが提供する最新の機能を使用しています。

  1. たとえば、コード フローを使用しています。
responseType: 'code',
  1. さらに、customQueryParams に適切なオーディエンスを使用しています。
customQueryParams: {
    // API identifier configured in Auth0 - Put made up audience here
    audience: 'https://dev-51246k0z.us.auth0.com/api/v2/',
  },

ここで完全な auth.config.ts ファイルを見ることができます:

import { AuthConfig } from 'angular-oauth2-oidc';

export const authConfig: AuthConfig = {

  // Your Auth0 app's domain
  // Important: Don't forget to start with https://
  //  AND the trailing slash!
  issuer: 'https://id.company-name.com/',

  // The app's redirectUri configured in Auth0
  redirectUri: window.location.origin ,

  // URL of the SPA to redirect the user after silent refresh
  silentRefreshRedirectUri: window.location.origin,

  useSilentRefresh: true,

  // The app's clientId configured in Auth0 - example client id
  clientId: 'A0tLAYYSyGRtwyF4wlVh49jmLZCW8pVQ',

  // Scopes ("rights") the Angular application wants get delegated
  scope: 'openid profile email offline_access read:roles',

  // Using Authorization Code Flow
  // (PKCE is activated by default for authorization code flow)
  responseType: 'code',

  // Your Auth0 account's logout url
  // Derive it from your application's domain
  logoutUrl: 'https://id.company-name.com/logout',

  customQueryParams: {
    // API identifier configured in Auth0
    audience: 'https://dev-51246k0z.us.auth0.com/api/v2/',
  },

  silentRefreshTimeout: 5000, // For faster testing
  timeoutFactor: 0.25, // For faster testing
  sessionChecksEnabled: true,
  showDebugInformation: true, // Also requires enabling "Verbose" level in devtools
  clearHashAfterLogin: false, // https://github.com/manfredsteyer/angular-oauth2-oidc/issues/457#issuecomment-431807040,
  nonceStateSeparator : 'semicolon' // Real semicolon gets mangled by IdentityServer's URI encoding
};

私が遭遇しているカスタムスコープの問題

私が直面している問題は、ロールに指定しているカスタム スコープが Auth0 Github ソーシャル コネクションを使用していないことです。私のスコープフィールドは次のようになります。

// Scopes ("rights") the Angular application wants get delegated
scope: 'openid profile email offline_access read:roles',

ですが、access_tokenに を超えるスコープが含まれることはありませんopenid profile email offline_accessread:rolesつまり、Auth0 ロール API が失敗する原因となるスコープ/権限をアプリに与えません。

  • 私のGithubソーシャルログインは機能しています。アプリは Github にリダイレクトし、そこでログインするように求め、Github アプリが必要とするスコープを指定します。

  • この質問が十分に明確でない場合は、お気軽にコメントしてください。質問を整理します.

4

1 に答える 1