标签: auth0

使用 Auth0 在 JWT 中包含 user_metadata 和 app_metadata

我在我的网络应用程序上使用 Angular 2 和 Auth0 进行身份验证。我可以使用以下代码获取用户个人资料:

auth0 = new auth0.WebAuth({
    domain: 'MY-DOMAIN',
    clientID: 'MY-CLIENT-ID',
    callbackURL: 'MY-CALLBACK',
    responseType: 'token id_token'
});
Run Code Online (Sandbox Code Playgroud)

登录:

public login(username: string, password: string): void {
    this.auth0.client.login({
      realm: 'Username-Password-Authentication',
      username,
      password
    }, (err: any, authResult: any) => {
      if (err) {
        alert('Error: ' + err.description);
        return;
      }
      if (authResult && authResult.idToken && authResult.accessToken) {
        this.setUser(authResult); <--- Here is where I get the profile
        this.router.navigate(['/home']);
      }
    });
}
Run Code Online (Sandbox Code Playgroud)

保存tokenlocalStorage获取配置文件:

private setUser(authResult: any): void {
    localStorage.setItem('access_token', …
Run Code Online (Sandbox Code Playgroud)

authentication auth0 angular

3
推荐指数
1
解决办法
3127
查看次数

如何在 Angular4 中正确检查用户是否经过身份验证?

我目前正在开发 Angular 4 应用程序。

该应用程序使用 Auth0 进行身份验证,其语法与其他身份验证服务的语法非常相似。

身份验证的代码如下所示:

// auth.services.ts

@Injectable()
export class Auth {
  public lock = new Auth0Lock(myConfig.clientID, myConfig.domain, myConfig.lock);
  public userProfile: any;
  public idToken: string;
  public signUpIncomplete: boolean;

  // Configure Auth0
  private auth0 = new Auth0.WebAuth({
    domain: myConfig.domain,
    clientID: myConfig.clientID,
    redirectUri: myConfig.redirectUri,
    responseType: myConfig.responseType
  });

  // Create a stream of logged in status to communicate throughout app
  private loggedIn: boolean;
  private loggedIn$ = new BehaviorSubject<boolean>(this.loggedIn);

  constructor(private router: Router, private http: Http) {
    // Set userProfile attribute of …
Run Code Online (Sandbox Code Playgroud)

authentication auth0 angular

3
推荐指数
1
解决办法
2万
查看次数

错误:状态 auth0 无效

我正在尝试按照本教程在我的 Angular 5 应用程序中实现 auth0: https: //toddmotto.com/angular-2-authentication

寄存器工作正常,但当我尝试登录时,我在控制台中看到以下内容:在此输入图像描述

这是我的身份验证服务:

import { Injectable } from '@angular/core';

// We want to avoid any 'name not found'
// warnings from TypeScript
declare var Auth0Lock: any;


@Injectable()
export class AuthService {
    private lock

    constructor() {
        // These stuff should be exported into other files
        this.lock = new Auth0Lock('id...',
            'url...')
    }

    login() {
        this.lock.show((error: string, profile: Object, id_token: string) => {
            if (error) {
                console.log(error);
            } else {
                console.log(profile)
                localStorage.setItem('profile', JSON.stringify(profile));
                localStorage.setItem('id_token', id_token);
            }
        }); …
Run Code Online (Sandbox Code Playgroud)

auth0 angular

3
推荐指数
1
解决办法
5413
查看次数

Auth0 的合适 Azure 替代品

我有一个作为 Azure 应用服务托管的 ASP .Net Core 2.2 Web API。然后是一个 Angular SPA,它使用此 API,作为静态网站托管在 Azure 存储上。

我目前使用 Auth0 作为我们的身份验证和身份服务器。我正在考虑用 Azure 替换 Auth0,但我花了几天时间试图弄清楚我应该做什么,但我完全迷失了。

因此,Auth0 当前服务的目的(我希望 Azure 也能提供服务)是保护我的 Web API,并为其提供身份服务,以便 API 知道哪个用户登录了。因此,当前端调用 API,Auth0 自动将其重定向到登录页面。在这里,用户可以使用现有帐户(包括社交帐户)登录,也可以创建新帐户。登录后,Auth0 向前端提供访问令牌。然后,前端将此访问令牌包含在每个 API 调用的标头中。访问令牌包含 API 用来了解哪个用户正在进行调用的身份信息。所有用户都存储在 Auth0 中。因此,当新用户使用前端 Web 应用程序时,Auth0 会将他们重定向到登录屏幕,他们在其中选择“注册”,并在 Auth0 中创建一个帐户。顺便说一句,任何用户都可以执行此操作 - 这是一个任何人都可以注册和使用的公共网络应用程序。

因此,当考虑使用 Azure 而不是 Auth0 时,首先让我困惑的是有各种身份验证服务:

  1. 在 Azure 门户中,在我的应用程序服务下的“身份验证/授权”下,有一个标记为“应用程序服务身份验证”的切换开关。如果我打开此功能,我可以设置身份验证提供程序。

  2. 在Azure门户中,有Azure Active Directory,我猜它与上面的内容有关?

  3. 还有 Azure B2C。

Azure 应用服务身份验证和 Azure B2C 之间有什么区别?我应该使用哪一个?上述第 1 点和第 2 点有什么区别?我见过的一些例子使用了第 1 点,还有一些使用了第 2 点。

抱歉,如果这是一个非常模糊的问题。我只是在努力弄清楚该朝哪个方向前进。我发现 Auth0 非常简单,但不幸的是我不能对 Azure 身份验证说同样的话。我基本上只是想弄清楚哪个 Azure 选项最适合替换我现在正在使用的 Auth0。谢谢

authentication authorization azure auth0 azure-authentication

3
推荐指数
1
解决办法
1844
查看次数

对所有 Axios 请求使用 Auth0 React Hook

我已经按照他们的快速入门教程使用 React 设置了 Auth0。
基本上,我的 React 应用程序围绕着它们的 Context Provider,我可以访问useAuth0我的任何组件中的钩子。

这是我向 API 发出请求的方式:

const TestComponent = () => {
  const { getTokenSilently } = useAuth0();

  const getObjectsFromAPI = async () => {
    const token = await getTokenSilently();
    const axiosConfig = {
      headers: {
        Authorization: "Bearer " + token
      }
    };

    const response = await axios.get(
      "/api/objects/",
      axiosConfig
    );

    // ... do something with the response

  };

  return ... removed code for brevity
};
Run Code Online (Sandbox Code Playgroud)

有没有办法提出请求而不必在每个请求上写tokenaxiosConfig

我知道我可以使用配置初始化一个新的 …

reactjs auth0 axios

3
推荐指数
1
解决办法
1542
查看次数

集成 Auth0 和 Hasura 时未找到访问被拒绝服务

我正在按照 Hasura 的文档使用 JWT 将登录功能与 Auth0 集成。我的 GraphQL 端点在控制台上运行良好。但是,当我尝试使用 Auth0 SDK 实现登录按钮时,出现以下错误:

{error: "access_denied", error_description: "Service not found: https://mydomain.herokuapp.com/v1/graphql", state: "T3FEQUpFRXFqX1RqcGQwaXpms3lXeEM3Rk80ZaQtLUp3bWdRQmVzLXpRaA=="}
Run Code Online (Sandbox Code Playgroud)

这是我失踪的明显事情吗?

reactjs auth0 graphql hasura

3
推荐指数
1
解决办法
1722
查看次数

找到导致 Chrome 的 SameSite 警告的 cookie

正如你们中的一些人所知,Chrome 将在本月开始使用新的 SameSite cookie 政策(https://web.dev/samesite-cookies-explained/https://www.chromium.org/updates/same-site)。

我们正在为我们的应用程序使用 Auth0,并且自去年年底以来在 Chrome 的控制台中看到了这个 SameCookie 警告:

在此处输入图片说明

现在,随着新政策的推出越来越近,我尝试使用 Chrome 开发人员工具中的应用程序视图找到有问题的 cookie。这是什么显示:

在此处输入图片说明

如您所见,任何 cookie都没有SecureSameSize条目。

所以我启用了新政策,看看会发生什么变化。这可以在chrome://flags

在此处输入图片说明

在这些更改之后,我在控制台中看到一条消息,告诉我 cookie 被阻止了。

在此处输入图片说明

但是 Chrome 开发人员工具中的应用程序视图显示的 cookie 与以前完全相同。

此外,我浏览了开发人员工具网络视图中的每个条目。任何条目都没有Cookie选项卡。

这非常令人沮丧,因为我不知道您被阻止的 cookie 是否与我们应用程序的运行相关。

有没有办法找出哪个cookie被阻止了?Chrome 不能在写入控制台的警告中提及 cookie 吗?

cookies google-chrome-devtools auth0 samesite

3
推荐指数
1
解决办法
2609
查看次数

在 Jest 测试中模拟 auth0-spa-js 的安全来源

尝试围绕 auth0-spa-js 设置玩笑测试,但在尝试等待 createAuth0Client(config) 时收到错误“auth0-spa-js 必须在安全源上运行”。在玩笑测试中模拟安全来源的最佳方法是什么?

javascript node.js jestjs auth0

3
推荐指数
2
解决办法
1366
查看次数

如何将 AWS SSO 设置为 Auth0 Enterprise SAML 连接

我想将 AWS SSO 配置为企业 SAML 连接。我试图通过窃取Auth0 的其他 SAML IdP 示例来拼凑正确的配置,但我还没有能够让它工作。

在 AWS SSO 中:

  • 配置了一个新的应用程序
  • 应用程序 ACS URL设置为https://<AUTH0 TENANT>.auth0.com/login/callback
  • 将应用程序 SAML 受众设置为 urn:auth0:<AUTH0 TENANT>:<AUTH0 CONNECTION NAME>
  • 下载证书
  • 分配用户

在 Auth0 中:

  • 配置企业 SAML 连接
  • 选择 IdP 域
  • 上传证书,粘贴来自 AWS SSO 的登录和注销 URL

目前,在我的 Auth0 SAML 连接上单击“测试”会重定向到 AWS SSO,我可以登录,但随后出现错误“缺少主题的 nameId 格式”。

是否有人成功将 AWS SSO 配置为 Auth0 Enterprise SAML 连接?

需要说明的是,我并不是要尝试将 Auth0 配置为我的 AWS IdP,因此Auth0 集成 AWS sso 文档不适用

amazon-web-services single-sign-on auth0

3
推荐指数
1
解决办法
319
查看次数

AWS Cognito 代替 Keycloak

我们正在构建一个需要用户管理功能的 Web 应用程序:管理员用户、管理员组、业务团队组、公共用户、基本用户等。根据他们的角色、组,不同的能力可以访问我们应用程序的不同资源。

为此考虑了几个选项:1/ 特定开发 2/ 使用开源:Keycloak 3/ 使用商业解决方案:AWS cognito,因为我们在开发中使用了大量 AWS 资源。

由于我们对这个项目的预算有限,我正在权衡优化开发工作、基础设施和技术支持成本的选项。问题 :

  • Keycloak 是否是小型项目的好选择,因为我们提供技术支持的资源非常有限?
  • AWS Cognito 是否成熟到可以用于商业应用程序?
  • Keycloak以后迁移到开源容易吗?
  • 我通过谷歌搜索看到一些评论说,由于与应用程序集成的复杂性和文档问题,一些项目已经回滚了他们在 AWS Cognito 上的选择。AWS Cognito 是否改进了这些功能?
  • 有其他选择吗?(Auth0,Okta)?

identity amazon-cognito keycloak okta auth0

3
推荐指数
1
解决办法
3698
查看次数