小编sob*_*bbe的帖子

与所有主要提供商实施单点登录的最佳方式?

我已经对这个主题做了很多研究,并且自己实施了很多解决方案.

包括OpenID,Facebook Connect(使用旧的Rest API和新的Graph OAuth 2.0 API),使用twitter登录(据我所知,目前已经升级到完全合格的OpenID),依此类推......

但我仍然缺少的是完美的一体化解决方案.

在我的研究期间,我偶然发现了一些有趣的项目:

但我不想依赖外部提供商,我也想要一个免费的解决方案,所以我不受限制.

我还看到开发人员在遵循提供程序指令并为所有内容设置模型和数据库表之后,一个接一个地实现一个服务.

当然这可以工作,但它是一大堆工作,总是需要开发和更改您的应用程序等.

我正在寻找的是一个抽象层,它将所有服务都带到一个可以集成到我网站的标准中.一旦出现新服务,我只想添加一个处理该特定提供者抽象的模型,这样我就可以将它无缝地集成到我的应用程序中.

或者更好的是,找到一个我可以下载的现有解决方案.

理想情况下,这个抽象服务将独立于我的应用程序托管,因此它可以用于多个应用程序并独立升级.

上述3种解决方案中的最后一种看起来很有希望.一切都只是移植到合成的OpenID,网站jut必须实现OpenID.

过了一会儿,我找到了Django socialauth,一个基于python的Django Webframework身份验证系统.但它看起来像上面描述的那样运行,我认为这是Stackoverflow使用的相同登录系统(或者至少是一些修改过的fork ...).

我下载了它,并试图设置它,看看它是否可以设置为一个独立的解决方案,但我没有运气,因为我也不是这样的python.

我很想要一个基于PHP的解决方案.

所以在这篇长篇文章之后,我的问题恰恰是:

  • 你如何实现SSO,比移植所有内容更好的想法并以OpenID为基础?
  • 有什么优点和缺点?
  • 你知道任何现有的解决方案吗?首选开源.

我希望这个问题不是太主观,提前谢谢.

更新:我的结论是构建一个代理/包装器或者你可以称之为Facebook的东西,将它移植到一个OpenID,因此它成为一个OpenID端点/提供者将是最好的选择.这就是我所做的.

请参阅下面的答案.

我添加了赏金以获得反馈/讨论.Maby我的方法并不像我现在认为的那样好!

php openid authentication facebook single-sign-on

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

警告:/etc/php/7.0/mods-available下不存在模块ini文件

我已经从ubuntu卸载了php7及其所有模块,当我尝试重新安装模块时,我得到每个php模块的以下错误,虽然模块已安装,但由于此错误,它未激活且我无法使用他们.有什么方法可以解决这个问题吗?每个模块的错误(安装时):

Not replacing deleted config file /etc/php/7.0/mods-available/intl.ini
WARNING: Module [module name] ini file doesn't exist under /etc/php/7.0/mods-available
WARNING: Module [module name] ini file doesn't exist under /etc/php/7.0/mods-available
WARNING: Module [module name] ini file doesn't exist under /etc/php/7.0/mods-available
Run Code Online (Sandbox Code Playgroud)

php php-extension php-7

18
推荐指数
3
解决办法
4万
查看次数

在yii2中将表单数据发送到控制器的问题

我想将表单数据从我的视图发送到控制器,以将数据插入数据库.我已经创建了模型和控制器,但是当我将表单发送到带有操作的控制器时.它只刷新了数据未传递给控制器​​的页面,只会加载索引页面.这是我的表格:

<div class="container">
 <!--<div style="text-align:right;" class="row">
   <h3>????? ????? ????</h3>
 </div>-->
   <div class="row">
   <div class="col-md-12" >
               <div class="widget-area no-padding blank">
               <div class="status-upload">
                 <!--<form method="POST" action="?r=twit/send-twit">-->
                 <?php
                 $form = ActiveForm::begin([
                   'options' => ['action' => '?r=twit/send-twit']
                 ]);
                 ?>
                  <?= $form->field($model,'twit')->textarea(); ?>
                   <!--<textarea name="twitContent" style="text-align:right;" placeholder="...????? ??? ?? ???? ????" ></textarea>-->
                   <!--<ul>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Audio"><i class="fa fa-music"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Video"><i class="fa fa-video-camera"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Sound Record"><i class="fa fa-microphone"></i></a></li>
                     <li><a title="" data-toggle="tooltip" data-placement="bottom" data-original-title="Picture"><i class="fa fa-picture-o"></i></a></li>
                   </ul>-->
                   <!--<button name="submit" …
Run Code Online (Sandbox Code Playgroud)

php yii2 active-form

8
推荐指数
1
解决办法
1503
查看次数

Vue js中动态使用多个页面(组件)

我正在使用用于自定义功能的Laravel Nova自定义工具vue js

tool.vue创建后组件内部有一个文件,所有内容都在那里处理。问题是我想要不同的模板(vue 文件)并在需要时渲染它们。

在这种情况下,我的主要内容tool.vue是使用我完全实现的下拉列表进行搜索。但是我想vue在单击按钮后呈现来自不同文件的结果列表。(当然,另一个 vue 文件将包含一个表格或其他东西来显示数据)。

问题是如何使用 vue js 处理这个问题以及如何在组件之间进行更改?以及如何将参数/数据从主 vue 文件传递​​到结果页面,以便我可以执行 ajax 请求等。

javascript laravel vue.js vuejs2 laravel-nova

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

Yii2应用程序部署后重定向错误太多次

我正在尝试使用Deployer部署我的Yii2应用程序

我的服务器是Ubuntu server 16.4.10 LTS,我已经配置好了一切,当我只是使用filezilla将项目复制到服务器时一切正常但是当我用deployer部署它时我在google chrome中得到了这个错误:

Redirected too many times
Run Code Online (Sandbox Code Playgroud)

我尝试过几次不同的配置部署,但我得到了同样的错误.
ps:我已经使用部署程序为我的其他项目使用此配置类型,它没有任何问题.

php deployment yii yii2 php-deployer

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