标签: restful-authentication

RuntimeError:为User声明attr_protected或attr_accessible,但不是两者都声明

由于我的rails应用程序在短时间内在测试套件中产生以下运行时错误:

RuntimeError: Declare either attr_protected or attr_accessible for User, but not both.
Run Code Online (Sandbox Code Playgroud)

这可能是由restful_authentication的更新引入的.但是扫描代码"attr_protected"只会告诉我它永远不会被调用.那么为什么会出现这个错

我的用户模型只有以下代码:

attr_accessible :login, :email, :name, :password, :password_confirmation, :identity_url
Run Code Online (Sandbox Code Playgroud)

那应该是完全可以的吗?有什么线索在哪里寻找问题?搜索谷歌显示了一些无知的人,他们也只在测试环境中看到这个问题,偶尔也会在开发环境中看到这个问题.

unit-testing ruby-on-rails restful-authentication

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

Rails错误:未初始化的常量ApplicationController :: Authentication

通过clarkware的iphone-rails-tutorial工作,并尝试构建和运行包含的最终rails代码,但每当我尝试访问localhost时,我在服务器的控制台中都会收到此错误:3000 /

ActionController::RoutingError (uninitialized constant ApplicationController::Authentication):
  app/controllers/application_controller.rb:5:in `<class:ApplicationController>'
  app/controllers/application_controller.rb:1:in `<top (required)>'
  app/controllers/goals_controller.rb:2:in `<top (required)>'

Rendered /Users/joeuser/.rvm/gems/ruby-1.9.2-p0@rails3/gems/actionpack-3.0.0/lib/action_dispatch/middleware/templates/rescues/routing_error.erb within rescues/layout (1.6ms)
Run Code Online (Sandbox Code Playgroud)

以前包含的示例代码的"里程碑"运行得很好.只有最后一个抛出错误......

这是什么意思?我没有想到的猜测是,有一种类型的认证宝石缺失,但我无法弄清楚哪一个.除了默认的rails&sqlite3-ruby之外,Gemfile中没有列出任何内容......并且文档中没有提及任何身份验证框架.

任何人都明白这个错误或熟悉教程,知道发生了什么?

我似乎无法找到与本教程相关的论坛,所以我想我会在这里查询.如果你知道一个,请指导我参加活动论坛.

authentication ruby-on-rails restful-authentication

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

使用HTTPS实现RESTful Web服务

我想知道我是否可以使用HTTPS而不是HTTP来实现RESTFul Web服务我使用Jersey和Spring来实现RESTFUL Web服务.如果是,那么我需要做出哪些代码更改?以下是我的代码片段

@Component
@Path("/payment")
public class PaymentService {

    @Autowired
    TransactionBo transactionBo;

    @GET
    @Path("{year}/{format}")

    public Response savePayment(@PathParam("year") int year,
            @PathParam("format") String format,@PathParam("name") String name) {

        String result = transactionBo.save(year,format,name);

        return Response.status(200).entity(result).build();

    }

}
Run Code Online (Sandbox Code Playgroud)

java restful-authentication spring-mvc jersey

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

构建restful API的良好资源

我正在寻找一个很好的资源,它将向我展示构建一个安静的API的正确方法.有趣的主题:特别是身份验证和一般安全性,性能,可伸缩性,最佳实践和其他有用的东西.

我将用PHP(Slim或Silex)构建它,在开始之前我想考虑整个设计,所以我可以从一开始就采用正确的方法.

网络上有很多信息和帖子,但他们都采用不同的做法和方法.

在宁静的世界里,有什么东西似乎是"标准"吗?

php rest restful-authentication slim silex

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

yii2的REST API,身份验证器(HttpBearerAuth)在服务器上不起作用

我刚刚创建了一个用于REST API的项目(使用yii2框架)。
REST API的所有问题在localhost上都非常有效。但是,当将项目放在服务器上时(也使用相同的数据库),授权不可用。现在我正在使用“ yii \ filters \ auth \ HttpBearerAuth”

在模型“ implements IdentityInterface”内部,有一个简单的发现令牌函数“ findIdentityByAccessToken”,“ validateAuthKey”函数始终返回true;见下文:

public static function findIdentityByAccessToken($token, $type = null){  
    return static::findOne(["token" => $token]);  
}

public function validateAuthKey($token)    
{ 
    return true;  
}  
Run Code Online (Sandbox Code Playgroud)

看到任何图片:https : //www.flickr.com/photos/40158620@N03/20701523349/in/dateposted-public/ 任何人都可以在这个问题上有一些经验,您能告诉我如何解决吗?谢谢你的好心。

  • 注意:
  • 该项目,我正在关注https://github.com/NguyenDuyPhong/yii2_advanced_api_phong在localhost上运行良好;我也在服务器上完全部署了该项目,这引起了同样的问题)
  • 为了确保正确配置服务器:我创建了2个动作,其中1个被授权,另一个未授权。我检查了未经授权的操作,效果很好。=======>
  • 未授权actionView =>获取API信息。还可以
  • actionIndex由“ yii \ filters \ auth \ HttpBearerAuth”授权=>失败

restful-authentication yii2

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

保护 SPA 背后的 REST API 免受数据窃贼的侵害

我正在为 Angular SPA 编写 REST Api 网关,但我面临着保护 SPA 的 API 公开的数据免受“数据窃贼”侵害的问题。我知道我对 HTML 抓取无能为力,但至少我不想为这些数据窃贼提供用户体验和我们发送到 SPA 的 JSON 的全部功能。

大多数“教程”和有关此主题的主题之间的区别在于,我将这些数据公开给公共网站(这意味着不需要用户身份验证),该网站提供有关视频游戏的有价值的统计数据。

我关于如何保护 SPA 的 Rest API 的初步想法:

到处使用 JWT。当访问者第一次打开网站时,SPA 从我的 REST Api 请求 JWT 并将其保存在 HTTPS cookie 中。对于所有请求,SPA 必须使用 JWT 来获得响应。

这种方法的问题

  • 数据窃贼也可以简单地从我们的端点请求 oauth 令牌。我没有机会验证令牌实际上是从我的 SPA 或数据窃贼那里请求的吗?
  • 即使我解决了攻击者可以从 HTTPS cookie 中读取保存的 JWT 并在他自己的应用程序中使用它的问题。当然我可以为 JWT 添加时间到期

我的问题:

我的印象是这是一个常见问题,因此我想知道除了可以直接访问我的 REST Api 响应的 SPA 之外,是否还有其他好的解决方案来保护他人?

security rest restful-authentication jwt

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

仅在特定 URL 上调用自定义 Spring Security 过滤器

我有一个 Spring Boot 应用程序,我试图在其中创建一个自定义安全过滤器,如下所示:

public class CustomSecurityFilter extends GenericFilterBean {

    @Override
    public void doFilter(ServletRequest request, ServletResponse response, FilterChain chain) throws IOException, ServletException {
        //it should be invoked only for "/needCustomSecurityOnThisURL"
        chain.doFilter(request, response);
    }
}
Run Code Online (Sandbox Code Playgroud)

现在,我只想在特定的 URL 上调用它,但我无法弄清楚这一点。我正在使用以下代码调用它:

@Configuration
@EnableWebSecurity
public class SecurityConfig extends WebSecurityConfigurerAdapter {

    @Override
    protected void configure(HttpSecurity http) throws Exception {

        http
            .authorizeRequests()
                .anyRequest().authenticated()
                .and()
            .csrf().disable() // Disable CSRF Token
            .httpBasic();

        // Disable Session Management
        http
            .sessionManagement()
                .sessionCreationPolicy(SessionCreationPolicy.STATELESS);

        //want to add the Custom Security Filter n it should …
Run Code Online (Sandbox Code Playgroud)

java spring restful-authentication spring-security spring-filter

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

APEX RESTFUL POST方法

在APEX Restful Service中,如果我选择sql查询的GET方法,则所有参数都放在url字符串中。这意味着最终用户可以自己更改参数...所以我应该在pl / sql块中使用POST。但是如何从该方法返回数据?在GET中,我有类似的查询

SELECT *
FROM table
WHERE id = :PARAM
Run Code Online (Sandbox Code Playgroud)

在POST中变成了???

DECLARE
BEGIN
SELECT *
FROM table
WHERE id = :PARAM
END;
Run Code Online (Sandbox Code Playgroud)

我找不到关于文档的任何有用信息,仅关于GET方法。

rest restful-authentication oracle-apex

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

如何进行应用程序到应用程序(服务器到服务器)身份验证,OAuth 2.0,Web API 2.0

我在一个有2个单独的ASP.NET MVC 5应用程序的项目中。一个将另一个用作服务。基本上,应用程序之一是配置文件服务,它具有用户的所有配置文件信息,以便将来其他应用程序可以使用该服务,而用户不必设置多个帐户。这些应用程序是组织内部的。对于身份验证和授权,我们使用Windows身份验证和智能卡。配置文件服务应用程序使用Web API 2.0。我尚未设置OAuth 2.0。

问题:就目前而言,任何知道如何向配置文件服务发送请求的人都可以这样做(例如,输入带有查询字符串的url)。

我想要实现的目标:我想授权我的其他应用程序(目前,仅此一个……将来,还有更多)。我不希望请求基于使用该应用程序的用户的授权,而是基于应用程序本身。换句话说,如果对配置文件服务的请求来自该应用程序,无论谁登录并使用它,则配置文件服务会将其视为授权请求...如果来自其他任何地方,则将被拒绝。

我已经做了一些研究。我找不到任何明确说明如何进行设置的内容。我发现了一些有关如何使您的应用程序专门获得Google Services或Twitter服务授权的东西...告诉我如何设置客户端应用程序,而不是服务器应用程序(但是即使我不确定客户端设置,我也不确定)满足我的特定需求,因为它是内部应用程序,因为我不知道Google服务的工作方式等)。似乎可以使用OAuth 2.0和令牌,但是如何实现呢?我需要非常具体的分步解答(希望有一些代码)。

提前非常感谢您。我将经常检查。让我知道您是否需要更多信息。

编辑:哦!我忘了提!我们使用的是HTTPS,而不是HTTP ...这有什么关系吗?

c# asp.net-mvc restful-authentication oauth-2.0 asp.net-web-api2

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

如何在ClientIgniter 3.x中为来自客户端的每个请求验证JWT令牌

经过很长一段时间,我来这里解决我的问题.我对Codeigniter框架很新.我刚开始在CodeIgiter中学习RESTful api.然后我知道我们可以使用JWT而不是Sessions.我能够使用JWT并成功生成令牌.现在问题是,我想为客户端的每个请求验证生成的令牌.例如,这是基本的url或api, http:// localhost/codeigniter/api /

现在我要验证这样的事情:

http://localhost/codeigniter/api?token="here the generated token will come"
Run Code Online (Sandbox Code Playgroud)

如何使用Codeigniter 3.x实现它

我使用codeigniter-rest服务器进行API调用,使用php-jwt生成令牌.

php codeigniter restful-authentication jwt

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