小编c-g*_*fin的帖子

OAuth2服务器设置'client_id'广告''client_secret'用于'密码'授权类型

我很擅长建立一个Oath2服务器,并希望有人可以帮助我解决一些问题.

这是我正在实施的软件包:https:
//github.com/lucadegasperi/oauth2-server-laravel

从我读过关于这个包,Im相当肯定的是,"密码" /"资源Ownner" grant_type是我应该使用的大部分设置一个移动应用程序的API访问诸如移动银行应用程序(敏感数据)

引用的OAuth2规范:http:
//tools.ietf.org/html/rfc6749#section-4.3

OAth2规范声明客户端必须已经过身份验证,因此必须传递总共5个参数才能授予访问令牌:
- grant_type('password')
- 用户名
- 密码
- client_id
- client_secret

我有两个问题:

  1. Android和IOS应用程序是否能够保持"client_id"和"client_secret"的机密性?('客户'是应用或设备本身,而不是用户)
  2. 每个设备的'client_id'和'client_secret'应该是唯一的吗?(我应该创建一个新的控制器,用于在单独的请求中为每个设备生成client_ids和client_secrets,或者使用相同的client_id和client_secret构建到应用程序中.)

最后,我试图找出在'oath_clients'表中获取记录的最佳实践,以及这些条目是否应该是每个设备唯一的.

谢谢你的帮助!

android ios oauth-2.0 laravel

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

Laravel - 使用 hasManyThough() 和唯一合并的动态关系

我可以想到几种特殊的方法来做到这一点,但我真的在寻找一种“最佳实践”类型的解决方案。

我有 3 个表涉及
- 用户 (user_id)
- 用法 ('user_id', 'provider_id', 'nurse_id', 'patient_id')
- usage_alerts ('usage_id')

我试着去渴望负荷alerts使用hasManyThrough()基于用户的角色。

user_id字段是不可知的,可以应用于任何角色,因此需要进行合并和过滤。

Using$this->hasManyThrough('UsageAlert', 'Usage')->get()将返回一个集合,使该->merge()方法可用。但是,当急切加载时,返回时,我收到一个错误,因为它是一个集合对象。

Call to undefined method Illuminate\Database\Eloquent\Collection::addEagerConstraints()
Run Code Online (Sandbox Code Playgroud)

例如,这是我当前的关系(返回上面的错误)

public function alerts() 
{ 

    $alerts = $this->hasManyThrough('UsageAlert', 'Usage')->get();

    if(Sentry::getUser()->inGroup(Sentry::findGroupByName('provider')))
        $alerts->merge($this->hasManyThrough('UsageAlert', 'Usage', 'provider_id'));

    if(Sentry::getUser()->inGroup(Sentry::findGroupByName('patient')))
        $alerts->merge($this->hasManyThrough('UsageAlert', 'Usage', 'patient_id'));

    if(Sentry::getUser()->inGroup(Sentry::findGroupByName('nurse')))
        $alerts->merge($this->hasManyThrough('UsageAlert', 'Usage', 'nurse_id'));

    return $alerts;

}
Run Code Online (Sandbox Code Playgroud)

有什么建议?
也许对于一段关系来说太复杂了?

php laravel eloquent laravel-4

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

标签 统计

laravel ×2

android ×1

eloquent ×1

ios ×1

laravel-4 ×1

oauth-2.0 ×1

php ×1