标签: auth0

Angular 2 - 没有路由器提供商

我正在尝试将auth0与我的angular2应用程序集成,但我得到一个错误说:

    EXCEPTION: Error in ./AppComponent class AppComponent_Host - inline template:0:0BrowserDomAdapter.logError @ platform-browser.umd.js:937BrowserDomAdapter.logGroup @ platform-browser.umd.js:947ExceptionHandler.call @ core.umd.js:4389(anonymous function) @ core.umd.js:9890ZoneDelegate.invoke @ zone.js:332onInvoke @ core.umd.js:9245ZoneDelegate.invoke @ zone.js:331Zone.run @ zone.js:225(anonymous function) @ zone.js:591ZoneDelegate.invokeTask @ zone.js:365onInvokeTask @ core.umd.js:9236ZoneDelegate.invokeTask @ zone.js:364Zone.runTask @ zone.js:265drainMicroTaskQueue @ zone.js:497ZoneTask.invoke @ zone.js:437
    platform-browser.umd.js:937
    platform-browser.umd.js:937 Error: DI Exception
        at NoProviderError.BaseException [as constructor] (core.umd.js:4472)
        at NoProviderError.AbstractProviderError [as constructor] (core.umd.js:4602)
        at new NoProviderError (core.umd.js:4638)
        at ReflectiveInjector_._throwOrNull (core.umd.js:6532)
        at ReflectiveInjector_._getByKeyDefault (core.umd.js:6560)
        at ReflectiveInjector_._getByKey (core.umd.js:6523)
        at ReflectiveInjector_.get (core.umd.js:6332)
        at NgModuleInjector.get (core.umd.js:10386)
        at DebugAppView._View_AppComponent_Host0.createInternal (AppComponent.ngfactory.js:20)
        at …
Run Code Online (Sandbox Code Playgroud)

javascript auth0 angular

5
推荐指数
0
解决办法
3239
查看次数

Angular 2 RC5路由器重定向与Auth0服务

我有一个使用Angular 2的简单应用程序.我目前使用NgModule在RC5上.我使用的是3.0.0-beta.2路由器.

我的默认应用网址目前是

HTTP://本地主机:8080 /#

当我使用Auth0服务登录时,在成功登录后,在URL中获取access_token和id_token.重定向网址看起来像这样

HTTP://本地主机:8080 /#=的access_token&YKXQzxxx = id_token eyjQWASxxx

但现在Angular路由器尝试将其映射为路由.所以我得到以下错误.

**

未捕获(承诺):错误:无法匹配任何路线:'access_token'

**

有没有办法告诉Angular不要这样做.我希望将数据作为路由器参数读回.请帮忙.

routing oauth auth0 angular2-routing angular

5
推荐指数
0
解决办法
310
查看次数

将Auth0身份验证与现有用户数据库集成

我需要在我们的项目中集成Auth0(Reactjs/Hapijs/MySQL).我检查了文档,他们有很多例子,这很好,但是,我找不到任何与我如何使用现有用户数据库有关的信息.

在我的应用程序中,我有用户,这些用户可以有一个或多个项目.通过我们当前使用的授权,用户登录,我检查他拥有哪些项目并将其发送到React应用程序.

我错过了一个文档,它解释了我如何使用Auth0并仍然可以检查我的数据库用户拥有什么项目.

关于它应该如何工作的想法(我可能错了):

  1. 用户向我们的服务器发送用户名和密码
  2. 我们的服务器向Auth0发出请求(提供凭据)
  3. Auth0用一些令牌回复我们的服务器
  4. 我们查看数据库中的users表并尝试验证该用户是否存在
  5. 如果它匹配,那么我们只是看(就像我们已经做的)用户项目.

这是它应该如何工作?

javascript mysql reactjs auth0

5
推荐指数
1
解决办法
1521
查看次数

如何更改Auth0 Lock中显示的标题标题?

我想更改Auth0Lock 中显示的默认标题值; 见下图.

在此输入图像描述

auth0 angular

5
推荐指数
1
解决办法
493
查看次数

缺少auth0的userInfo中的user_metadata

对于身份验证,我使用的是Auth0 AuthenticationApi.在Account Controller中,我需要获取user_metadata但它已丢失.获取user_metadata的任何替代方法?

AuthenticationApiClient client = new AuthenticationApiClient(new Uri($"https://{_auth0Options.Domain}/"));

               var authenticateResponse = await client.GetTokenAsync(new ResourceOwnerTokenRequest
                {
                    ClientId = _auth0Options.ClientId,
                    ClientSecret = _auth0Options.ClientSecret,
                    Scope = "openid",
                    Realm = _auth0Options.Connection,
                    Username = vm.EmailAddress,
                    Password = vm.Password
                });
                var user = await client.GetUserInfoAsync(authenticateResponse.AccessToken);
                if (user.UserMetadata != null)
                {
        // Giving error...any alternative to access the userMetaData ?
                }
Run Code Online (Sandbox Code Playgroud)

authentication model-view-controller oauth-2.0 auth0

5
推荐指数
1
解决办法
361
查看次数

为什么我的Auth0找不到我的回调路线?

Auth0重定向到http:// localhost:3000/callback#/ acccess-token = dxy

我的反应应用程序中出现了一个空白屏幕.

继承人我的主要app.js

render((
    <HashRouter>
        <Main />        
    </HashRouter>
), $('#app')[0]);
Run Code Online (Sandbox Code Playgroud)

我的主要包含我的routes.js组件.

class Routes extends Component {
    constructor(props, context) {
        super(props, context);

        this.state = { mainData: this.props.mainData };

        this.handleAuthentication = this.handleAuthentication.bind(this)
    }

    componentWillReceiveProps(newProps) {
        this.setState((previousState) => update(previousState, {
            mainData: { $set: newProps.mainData },
        }));
    }

    handleAuthentication(nextState, replace) {
        if (/access_token|id_token|error/.test(nextState.location.hash)) {
            this.props.auth.handleAuthentication();
        }
    }

    render() {
        return (
            <div>
          

                <Switch>

                  <Route path='/callback' render={props => {

                    this.handleAuthentication(props);

                    return <Callback {...props} />
                }} />
 
                    <Route exact path='/' render={props …
Run Code Online (Sandbox Code Playgroud)

javascript reactjs react-router auth0 react-native

5
推荐指数
1
解决办法
368
查看次数

如何在loopback.js中处理客户端响应路由

我正在使用环回反应.我想在环回中集成反应代码.如果我做这3个步骤

1)middleware.json - put this
 "files": {
    "loopback#static": {
      "params":"$!../client"
    }
  },`
2)root.js
 router.get('/');
3)front end code
 "build": "react-scripts build && cp -r build/* ../client/",
Run Code Online (Sandbox Code Playgroud)

那打开了我在localhost上的反应站点:3000.现在问题是当我这样做时我无法访问我的环回:3000/explorer所以我的第一个问题是在这种情况下,如何访问资源管理器.

但后来我回滚了,因为我想再次使用环回资源管理器.

所以,我删除了所有这些添加的代码和浏览器回来,但当我再次添加它现在,我没有看到我的反应代码

我仍然可以在http:// localhost:3000/explorer /看到探险家, 如果我去http:// localhost:3000/apphome 我看到404错误

现在,我的middleware.json文件用于环回

    {
  "initial:before": {
    "loopback#favicon": {}
  },
  "initial": {
    "compression": {},
    "cors": {
      "params": {
        "origin": true,
        "credentials": true,
        "maxAge": 86400
      }
    },
    "helmet#xssFilter": {},
    "helmet#frameguard": {
      "params": [
        "deny"
      ]
    },
    "helmet#hsts": {
      "params": {
        "maxAge": 0,
        "includeSubdomains": true
      }
    },
    "helmet#hidePoweredBy": …
Run Code Online (Sandbox Code Playgroud)

reactjs loopbackjs auth0

5
推荐指数
2
解决办法
814
查看次数

Auth0:付费用户的多步骤注册表单

我在我现有的常规php Web应用程序中使用auth0.
我的网站上有免费用户和付费用户.对于免费用户注册过程很简单,我调用create user api来触发验证邮件.

但对于付费用户,我有一个多步形式.在第一步中,用户输入他的信息并在应用程序中注册为免费用户,然后重定向到支付页面.我不能在第一步之后调用auth0 reg api,因为用户将在付款前立即获得验证电子邮件.

如果我在成功付款后拨打电话,则无法跟踪用户是否退出(不填写付款表单,但已注册为免费用户).请建议我应遵循的方法.

提前致谢

auth0

5
推荐指数
1
解决办法
148
查看次数

ASP.NET Core 2.1 Cookie身份验证似乎具有服务器相​​似性

我正在ASP.NET Core 2.1中开发一个应用程序,并在Kubernetes群集上运行它。我已经使用Auth0作为提供者,使用OpenIDConnect实现了身份验证。

这一切都很好。标有该[Authorize]属性的操作或控制器将匿名用户重定向到身份提供者,他们登录,重定向回来,而Bob是您的叔叔。

当我将部署扩展到2个或更多容器时,就会开始出现问题。当用户访问应用程序时,他们将登录,并根据回调过程中为它们提供服务的容器,身份验证是成功还是失败。即使在身份验证成功的情况下,当用户点击未授权的容器时,反复进行F5-ing操作也会最终重定向到身份提供者。

我对此的思路是,使用cookie身份验证,用户将cookie存储在浏览器中,并随每个请求一起传递,应用程序对其进行解码并获取JWT,然后从中获取声明,然后用户已认证。这使整个事情变得无状态,因此,不管为请求提供服务的容器如何,它都应该工作。但是,如上所述,它似乎并没有以这种方式实际工作。

我的配置Startup.cs如下所示:

services.AddAuthentication(options =>
    {
        options.DefaultAuthenticateScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultSignInScheme = CookieAuthenticationDefaults.AuthenticationScheme;
        options.DefaultChallengeScheme = CookieAuthenticationDefaults.AuthenticationScheme;
    })
    .AddCookie()
    .AddOpenIdConnect("Auth0", options =>
    {
        options.Authority = $"https://{Configuration["Auth0:Domain"]}";

        options.ClientId = Configuration["Auth0:ClientId"];
        options.ClientSecret = Configuration["Auth0:ClientSecret"];

        options.ResponseType = "code";

        options.Scope.Clear();
        options.Scope.Add("openid");
        options.Scope.Add("profile");
        options.Scope.Add("email");

        options.TokenValidationParameters = new TokenValidationParameters
        {
            NameClaimType = "name"
        };

        options.SaveTokens = true;

        options.CallbackPath = new PathString("/signin-auth0");

        options.ClaimsIssuer = "Auth0";

        options.Events = new OpenIdConnectEvents
        {
            OnRedirectToIdentityProviderForSignOut = context =>
            {
                var logoutUri =
                    $"https://{Configuration["Auth0:Domain"]}/v2/logout?client_id={Configuration["Auth0:ClientId"]}";

                var postLogoutUri …
Run Code Online (Sandbox Code Playgroud)

c# openid-connect kubernetes auth0 asp.net-core

5
推荐指数
2
解决办法
1387
查看次数

这是一个安全的身份验证流程(使用 Auth0 和 SvelteKit)吗?

由于目前没有适用于 SvelteKit 的 Auth0 SDK,因此当我打算将 Auth0 合并到我的 SvelteKit 应用程序中(包括服务器端身份验证)时,我正在学习(或至少尝试学习)有关身份验证的知识,这比我最初的意图要多得多。该文档有点令人困惑(或者可能它只是很大,或者可能我只是不那么聪明),所以我希望在这里描述我的身份验证流程以供批评(希望这对将来的其他人有帮助) )。

\n

我已经阅读了这篇关于 SPA auth以及Auth0 教育产品的精彩文章。但我仍然不确定我是否正确地将这些点连接起来。这是我的流程。所有这一切仅通过 SSL 发生。

\n
    \n
  1. 我使用他们的客户端 SDK ( @auth0/auth0-spa-js )在客户端创建一个 Auth0 客户端。该客户端通过 Auth0 弹出窗口执行身份验证。
  2. \n
  3. 一旦通过身份验证,一切都会在客户端按预期运行。但如果我想在服务器端控制对路由的访问,我需要将信息返回到服务器。所以...
  4. \n
  5. 身份验证后,Auth0 创建一个 ID 令牌(签名的 JWT),该令牌存储在浏览器的本地存储中。我将其保存为会话 cookie(SameSite=strict; HTTPOnly; Secure;设置了选项),以便它通过路由授权请求传递回服务器。
  6. \n
\n

所以让我在这里暂停一下...我明白(至少根据一些内容,包括上面链接的 Auth0 教育视频)ID 令牌不应该用于身份验证,并且永远不应该被传递。这就是访问令牌的用途。然而,在这种情况下,交换都是第一方(我的客户端,我的服务器),我的理解是“可以”。

\n

然而,Auth0 SDK 本身并没有设置 cookie,这确实让我感到紧张。这让我怀疑我是否做错了\xe2\x84\xa2。

\n
    \n
  1. 在服务器上,我使用公钥验证 id_token,然后可以根据需要在后端保存用户详细信息等,并允许访问适当的路由(hooks.server.js在我的 SvelteKit 应用程序中通过)。

    \n
  2. \n
  3. 当用户注销或令牌过期时,cookie 将被删除。

    \n
  4. \n
\n

(顺便说一句,我还没有弄清楚如何在 ID 令牌过期时刷新它,因为 Auth0 客户端 SDK 似乎永远不会更新浏览器存储中的 ID 令牌,即使它已过期。)

\n …

access-token auth0 sveltekit

5
推荐指数
0
解决办法
439
查看次数