将OAuth 2.0与CodeIgniter集成

将OAuth 2.0与CodeIgniter集成,codeigniter,oauth-2.0,Codeigniter,Oauth 2.0,我在GitHub上发现了这一点,但是实现的步骤并不能真正帮助将OAuth代码安装到CodeIgniter中,也没有找到任何关于如何实现这一点的好文章 有没有人已经这样做了,可以帮我设置它?你可以试试这个spark 说明很清楚,执行起来应该不会太困难。HéHoang oAuth库实际上并不是自解释的。我就是这样让它工作的: 基础知识 阅读本文,了解oAuth的基本概念、角色和流程 然后按照CodeIgniter安装中alexbilbie提供的控制器和库的安装说明进行操作 安装表并添加应用程序和一

我在GitHub上发现了这一点,但是实现的步骤并不能真正帮助将OAuth代码安装到CodeIgniter中,也没有找到任何关于如何实现这一点的好文章

有没有人已经这样做了,可以帮我设置它?

你可以试试这个spark

说明很清楚,执行起来应该不会太困难。

HéHoang

oAuth库实际上并不是自解释的。我就是这样让它工作的:

基础知识

  • 阅读本文,了解oAuth的基本概念、角色和流程
  • 然后按照CodeIgniter安装中alexbilbie提供的控制器和库的安装说明进行操作
  • 安装表并添加应用程序和一些角色(想想Facebook应用程序和您可以请求权限的角色)
  • 确保在oAuth_server.php文件的底部某处创建了validate_user函数
  • 提出请求

    现在,您需要作为客户端执行授权请求。中记录了这几个简单的步骤

    编辑:Philsturgeon的OAuth2.0授权库可用于自动化此操作。这里描述的是手动方式

    对于图书馆而言,这意味着:

    /index.php/oauth?client\u id=IN\u您的应用程序&redirect\u uri=IN\u您的应用程序&response\u type=code&scope=YOUR\u角色

    用数据库中的数据填写变量

    调试它可能给出的一些错误

    如果一切顺利,您可以执行以下操作:

    登录->授权应用程序->见您用?code=XXXXXXX重定向\u uri页面

    您将需要XXXXXX代码

    然后在重定向上发布到/index.php/oauth/access\u令牌

    有了这些变形金刚(你现在都知道了)

    • 客户端id(在应用程序表中)
    • 客户端密码(在应用程序表中)
    • 重定向\u uri(在应用程序表中:保存访问\u令牌的位置)
    • 代码(XXXXXX)
    • 授权类型(必须是“授权代码”)您在阅读该部分后就知道了
    该post返回一个JSON字符串,其中包含access_令牌(或一个错误)。是啊

    下一步是什么

    将访问令牌保存在实际应用程序中,并在请求中使用它。在您的资源服务器上(可能是API和与我刚才解释的授权服务器相同的CodeIgniter项目),您需要在返回结果之前验证access_令牌

    其工作原理如下:

    $this->load->library('oauth_resource_server');
    if (!$this->oauth_resource_server->has_scope(array('account.basic')))
    {
        // Error logic here - "access token does not have correct permission"
        show_error('An access token is required to request this resource.');
    }
    else
    {
        //GO RETURN RESULTS
    }
    
    希望这能让你振作起来

    PS:您需要构建一些管理区域来管理应用程序、会话和角色


    Eric

    我使用了另一个spark库,它非常适合与codeigniter一起使用。 下面是关于如何使用spark安装和使用它的好教程。
    在我的研究中,我遵循以下指南

  • 官方谷歌OAuth,然后是
  • 作为登录网站的完整示例-这是不推荐的
  • 跟随

  • 准备好后,请下载并通过

    开始编码。非常感谢Eric,有一件事我不理解,那就是请求uri。我已经阅读了草稿中的部分,它解释了请求uri必须是来自客户端的绝对url,但如果我正在制作android/iphone应用程序,那么这个值必须是什么,因为我的应用程序不是web服务器上的网站?我在哪里可以找到任何带有CodeIgniter的集成OAouth2服务器,因为上面提到的URL是不可用的,你能帮我找到一个工作示例使用Oauth/2 sparks的好主意吗?但是你需要对PHP有一个很好的掌握,才能从该教程开始学习。它有几个输入错误,还引用了它们没有提供的功能。我正试图从上面的URL下载OAuth-2.0-server,但我找不到404,你能帮我在我的CodeIgniter应用程序中安装它吗?