小编and*_*whl的帖子

处理身份登录的OmniAuth :: Error(invalid_credentials)

我正在使用OmniAuth Identity进行正常登录.Rails 3.2.3和Ruby 1.9.3p194.

目前,当现有用户尝试使用无效凭据登录时,我收到以下错误:

Started POST "/auth/identity/callback" for 127.0.0.1 at 2012-07-12 17:00:03 -0400
(identity) Callback phase initiated.
  Identity Load (0.1ms)  SELECT "identities".* FROM "identities" WHERE "identities"."email" = 'test' LIMIT 1
(identity) Authentication failure! invalid_credentials encountered.

OmniAuth::Error (invalid_credentials):
  omniauth (1.1.0) lib/omniauth/failure_endpoint.rb:25:in `raise_out!'
  omniauth (1.1.0) lib/omniauth/failure_endpoint.rb:20:in `call'
  omniauth (1.1.0) lib/omniauth/failure_endpoint.rb:12:in `call'
  omniauth (1.1.0) lib/omniauth/strategy.rb:457:in `fail!'
  omniauth-identity (1.0.0) lib/omniauth/strategies/identity.rb:24:in `callback_phase'
  omniauth (1.1.0) lib/omniauth/strategy.rb:219:in `callback_call'
  omniauth (1.1.0) lib/omniauth/strategy.rb:175:in `call!'
  omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
  omniauth (1.1.0) lib/omniauth/strategy.rb:177:in `call!'
  omniauth (1.1.0) lib/omniauth/strategy.rb:157:in `call'
  omniauth (1.1.0) …
Run Code Online (Sandbox Code Playgroud)

ruby ruby-on-rails omniauth

9
推荐指数
1
解决办法
8950
查看次数

无法从单独的模块调度命名空间操作:[vuex]未知操作类型

我有两个模块,activitiesalerts.当activity加入,我想用命名空间行动派遣一个警报alerts/SHOW.

当我直接从组件调用操作时(使用createNamespacedHelpers带有命名空间的Vuex),这种方法很有效alerts.

但是当我从另一个命名空间模块调度操作时,我收到以下错误消息:

[vuex] unknown action type: SHOW
Run Code Online (Sandbox Code Playgroud)

我不确定我做错了什么.

我打电话的ADD另一个动作createNamespacedHelpersactivities命名空间.我也在使用Vuex模块文档中{ root: true }指出的选项.

AddActivityButton.vue

<template>
  <button @click="addActivity(activity)"
          type="button"
          :disabled="activityCount >= maxActivities"
          class="btn btn-secondary">{{ activity.name }}
  </button>
</template>

<script>
import { createNamespacedHelpers } from "vuex";
import { ADD } from "@/store/modules/activities";

const { mapActions, mapGetters, mapState } = createNamespacedHelpers(
  "activities"
);

export default {
  methods: {
    ...mapActions({
      addActivity: ADD
    }) …
Run Code Online (Sandbox Code Playgroud)

javascript vue.js vuex

6
推荐指数
1
解决办法
3494
查看次数

TinyMCE React编辑器抛出'无法设置属性'onload'of null'

我正在使用react-tinymce和create-react-app(两者的最新版本).

编辑器组件安装时出现以下错误:

uncaught at handleCall TypeError: Cannot set property 'onload' of null
    at p.unbindAllNativeEvents (https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=s057mcau7lzqdzu5tu3vx99qiek91pkj0od7u00dbw6kuk65:18:2293)
    at p.remove (https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=s057mcau7lzqdzu5tu3vx99qiek91pkj0od7u00dbw6kuk65:20:9142)
    at Object.execCommand (https://cloud.tinymce.com/stable/tinymce.min.js?apiKey=s057mcau7lzqdzu5tu3vx99qiek91pkj0od7u00dbw6kuk65:20:19531)
    at Object._remove (http://localhost:3000/static/js/bundle.js:127305:27)
    at Object.componentWillUnmount (http://localhost:3000/static/js/bundle.js:127245:10)
Run Code Online (Sandbox Code Playgroud)

有问题的部分在tinymce.js中:

        unbindAllNativeEvents: function() {
            var a, b = this;
            if (b.delegates) {
                for (a in b.delegates)
                    b.dom.unbind(d(b, a), a, b.delegates[a]);
                delete b.delegates
            }
            b.inline || (b.getBody().onload = null,
            b.dom.unbind(b.getWin()),
            b.dom.unbind(b.getDoc())),
            b.dom.unbind(b.getBody()),
            b.dom.unbind(b.getContainer())
        }
Run Code Online (Sandbox Code Playgroud)

b.getBody()返回null.这只是间歇性地发生.有时编辑器正确加载.我应该注意到,我正在将编辑器集成到react-redux-form中,作为自定义Control组件.

render(): React.Element {
    return (
        <div>
            <input type="file" id="image-upload-tinymce" name="single-image" …
Run Code Online (Sandbox Code Playgroud)

javascript tinymce reactjs react-redux-form

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

无法将ref指定给渲染道具中的组件

假设您有一个简单的反应应用程序(请参阅我的代码框):

import React from 'react';
import { render } from 'react-dom';

class RenderPropComponent extends React.Component {
  render() {
    console.log(this.example.test());
    return this.props.render();
  }
}

class Example extends React.Component {
  test = () => console.log('Test successful!');

  render() {
    return <h1>I am an example!</h1>;
  }
}

const App = () => (
  <RenderPropComponent
    render={() => {
      return (
        <Example ref={node => this.example = node} />
      )
    }}
  />
);

render(<App />, document.getElementById('root'));
Run Code Online (Sandbox Code Playgroud)

这会导致错误:

TypeError
Cannot read property 'test' of undefined
Run Code Online (Sandbox Code Playgroud)

如何 …

javascript reactjs

4
推荐指数
1
解决办法
1131
查看次数

无法在自定义Laravel测试环境中进行身份验证(codeception)

我正在运行Vagrant(宅基地),PHP 5.5.12和Laravel 4.2.我正在尝试配置代码以使用测试环境进行验收测试(在phantomJS上运行).在宅基地上我有两个环境:本地和测试.我小心不要在默认的'testing'环境中加倍,这个环境是为PHPUnit测试保留的.

我的问题是虽然我可以使用Eloquent来实例化用户(并检索它),但我无法对该用户进行任何测试的身份验证.这使我无法运行我的测试套件,其中90%需要用户身份验证.

我在/ etc/nginx/sites-available中定义了两个站点:myapp.app和myapp.test.我将fastcgi_param APP_ENV定义为本地和测试(分别).我还在〜/ .bashrc中指定了APP_ENV,所以echo $ APP_ENV返回'local'.我创建了相应的config/test文件夹,其中包含指向测试数据库的database.php凭据.下面是默认的codeception.yml设置,以及那些被acceptance.suite.yml设置覆盖的设置(这是我专门运行的套件).

我无法在测试环境中进行身份验证.所有尝试这样做都会返回false或null.

codeception.yml

actor: Tester
paths:
    tests: tests
    log: tests/_output
    data: tests/_data
    helpers: tests/_support
settings:
    bootstrap: _bootstrap.php
    colors: true
    memory_limit: 1024M
modules:
    config:
        Db:
            dsn: 'pgsql:host=localhost;dbname=myapp'
            user: 'myapp'
            password: 'myapp'
            dump: tests/_data/dump.sql
Run Code Online (Sandbox Code Playgroud)

acceptance.suite.yml

class_name: AcceptanceTester
modules:
    enabled:
        - Laravel4
        - AcceptanceHelper
        - WebDriver
        - Db
    config:
        WebDriver:
            url: 'http://myapp.test'
            browser: phantomjs
            window_size: 1024x768
        Db:
            dsn: 'pgsql:host=localhost;dbname=myapp_testing'
            user: 'myapp_testing'
            password: 'myapp_testing'
            dump: tests/_data/test-dump.sql
            populate: true
            cleanup: false
Run Code Online (Sandbox Code Playgroud)

此接受帮助程序编译到AcceptanceTester类中,并在需要身份验证的所有Cests上的before过滤器中运行.我在这里测试了User :: create方法的输出,它确实创建了一个我可以访问的用户对象,例如,在login方法中.但是,它不会出现在我的数据库中(从Navicat查看).数据库当前是从test-dump.sql文件填充的,并且只包含没有任何数据的模式.我不确定为什么Eloquent创建方法不会写入数据库,但我最好的猜测是在测试套件运行后数据库正在回滚.

AcceptanceHelper.php

<?php …
Run Code Online (Sandbox Code Playgroud)

php authentication laravel codeception

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