<?xml version="1.0"?>
<rss version="2.0">
  <channel>
    <title>PHPDeveloper.org</title>
    <link>http://www.phpdeveloper.org</link>
    <description>Up-to-the Minute PHP News, views and community</description>
    <language>en-us</language>
    <pubDate>Tue, 21 May 2013 05:57:30 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[NetTuts.com: HTTP: The Protocol Every Web Developer Must Know - Part 2]]></title>
      <guid>http://www.phpdeveloper.org/news/19521</guid>
      <link>http://www.phpdeveloper.org/news/19521</link>
      <description><![CDATA[<p>
NetTus.com has followed up their <a href="http://phpdeveloper.org/news/19433">previous article</a> covering some of the basics of the HTTP protocol with <a href="http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2">this new post</a>, part 2 of the series. They suggest that HTTP, the messaging format of the web, is the one protocol that every web developer should know.
</p>
<blockquote>
In my <a href="http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-1/">previous article</a>, we covered some of HTTP's basics, such as the URL scheme, status codes and request/response headers. With that as our foundation, we will look at the finer aspects of HTTP, like connection handling, authentication and HTTP caching. These topics are fairly extensive, but we'll cover the most important bits.
</blockquote>
<p>
In this article, they talk about things like the HTTPS secure version of HTTP, server-side connection handling, identification/authorization and working with caching and cache control headers.
</p>
Link: http://net.tutsplus.com/tutorials/tools-and-tips/http-the-protocol-every-web-developer-must-know-part-2]]></description>
      <pubDate>Mon, 29 Apr 2013 15:07:21 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Michael Kimsal: Why do no almost no web frameworks come with any authentication/authorization?]]></title>
      <guid>http://www.phpdeveloper.org/news/19221</guid>
      <link>http://www.phpdeveloper.org/news/19221</link>
      <description><![CDATA[<p>
In a new post to his site <i>Michael Kimsal</i> poses an interesting question about something he's noticed in several frameworks - and not just PHP ones: there seems to be a <a href="http://michaelkimsal.com/blog/why-do-no-almost-no-web-frameworks-come-with-any-authenticationauthorization-functionality/">lack of authentication/authorization functionality</a> coming bundled in.
</p>
<blockquote>
Why do almost no web frameworks provide any default authentication/authorization functionality, with default examples of best practices for common use cases.  The standard response I've gotten for years was/is "well, everyone's needs for authentication are different". No, they are not. A (very?) large majority of web applications (which is what most web frameworks are used to build), require some form of user login and authorization management, and often self-registration, dealing with lost passwords, etc.
</blockquote>
<p>
He points out that by not having something a user can immediately deploy that's been well tested and relatively risk-free, it can introduce security holes as a developer is "left to fend for themselves". He suggests that the "not everyone's the same" mentality that seems to go with authentication/authorization isn't as valid as once thought. He does point out that both <a href="http://symfony.com/">Symfony2</a> and <a href="http://framework.zend.com/">Zend Framework 2</a> come with ACL functionality, but no common user handling. He mentions ones in a few other tools used in other languages too like <a href="https://github.com/plataformatec/devise">Devise</a> in Ruby, <a href="http://grails.org/plugin/spring-security-core">Spring Security</a> in Grails and <a href="http://msdn.microsoft.com/en-us/library/yh26yfzy(v=vs.100).aspx">a membership system</a> in ASP.NET.
</p>]]></description>
      <pubDate>Fri, 22 Feb 2013 10:14:08 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPBuilder.com: Oauth Authentication for Social Apps in PHP]]></title>
      <guid>http://www.phpdeveloper.org/news/19155</guid>
      <link>http://www.phpdeveloper.org/news/19155</link>
      <description><![CDATA[<p>
On PHPBuilder.com today there's a tutorial <a href="http://www.phpbuilder.com/articles/application-architecture/miscellaneous/oauth-authentication-for-social-apps-in-php.html">introducing you to OAuth</a> and how to use it in your PHP applications.
</p>
<blockquote>
Oauth is an open standard for authorization that allows secure authorization from web, mobile and desktop applications. This standard allows a third-party application to gain access to a HTTP service, i.e. it enables users to share their resources from one website with another website without having to give out their credentials (usually username and password). [...] Oauth authorization is carried out in 3 steps: obtain a request token, authorize request token and exchange request token for an access token.
</blockquote>
<p>
They introduce you to some of the basic concepts behind OAuth and how the process works (complete with a <a href="http://www.phpbuilder.com/imagesvr_ce/2463/Oauth-image001.png">handy graphic</a>). They then show how to use OAuth to connect to the Facebook API, both in Javascript then PHP. This is followed with two other examples referencing popular social sites Twitter and Foursquare, hitting their APIs with simple authentication requests.
</p>]]></description>
      <pubDate>Fri, 08 Feb 2013 10:27:18 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Creating a PHP OAuth Server]]></title>
      <guid>http://www.phpdeveloper.org/news/18976</guid>
      <link>http://www.phpdeveloper.org/news/18976</link>
      <description><![CDATA[<p>
On PHPMaster.com today there's <a href="http://phpmaster.com/creating-a-php-oauth-server/">a new tutorial posted</a> about creating your own OAuth server in PHP using the <a href="http://code.google.com/p/oauth-php/">oauth-php package</a> to do the "heavy lifting".
</p>
<blockquote>
If you've ever integrated with another API that requires security (such as Twitter), you've probably consumed an OAuth service. In this article, I'll explore what it takes to create your own three-legged OAuth server allowing you, for example, to create your own secure API which you can release publicly.
</blockquote>
<p>
They include a <a href="http://cdn.phpmaster.com/files/2012/12/diagram.png">visual representation</a> of the OAuth authentication flow (it's not the simplest thing) and the database structure/sample code you'll need to get the server up and listening. Also included is a registration form and how to generate a request token and give back an access token. There's also some sample code showing how to validate the request and it's access token to check for a correct (and allowed) request.
</p>]]></description>
      <pubDate>Tue, 01 Jan 2013 11:56:46 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Sebastian G&ouml;ttschkes: symfony2: Testing secure pages]]></title>
      <guid>http://www.phpdeveloper.org/news/18571</guid>
      <link>http://www.phpdeveloper.org/news/18571</link>
      <description><![CDATA[<p>
<i>Sebastian G&ouml;ttschkes</i> has a new post to his site showing you how to <a href="http://sgoettschkes.blogspot.com/2012/10/symfony2-testing-secure-pages.html">test secure pages</a> within your Symfony2 applications using a simple "requestWithAuth" method.
</p>
<blockquote>
If you develop a web application, more often than not you have some kind of user section or admin panel where some kind of login identifies the user and protects your actions against usage from unauthorized people. It can be difficult to do functional tests with this kind of pages as you need to simulate some session or cookie context. In this tutorial, I want to show you how to test your functional pages with symfony2 and phpunit.
</blockquote>
<p>
He includes a "bad way" to do it, cheating by making a client and feeding it the HTTP auth credentials, and a more correct way involving the "requestWithAuth" method that's called whenever the "request" is called to push those credentials along with every request. Code for this basic function is included.
</p>]]></description>
      <pubDate>Mon, 08 Oct 2012 13:13:19 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Patrick van Kouteren: CloudVPS object store beta introduction]]></title>
      <guid>http://www.phpdeveloper.org/news/18414</guid>
      <link>http://www.phpdeveloper.org/news/18414</link>
      <description><![CDATA[<p>
<i>Patrick van Kouteren</i> has <a href="http://www.vankouteren.eu/blog/2012/08/cloudvps-object-store-beta-introduction/">a new tutorial posted</a> to his site showing you how to connect your application with an OpenStack instance (specifically the <a href="https://www.cloudvps.com/community/knowledge-base/cloudvps-object-store/">CloudVPS</a> option) via some simple CURL commands (easily translatable <a href="http://php.net/curl">into PHP</a>).
</p> 
<blockquote>
Lately I've been playing around with the <a href="https://www.cloudvps.com/community/knowledge-base/cloudvps-object-store/">CloudVPS ObjectStore</a>, which is currently in beta phase. This blogpost shows the options of this ObjectStore in a practical way and concludes with a summary of commands you can use yourself to interact with it and some ideas. For this post, I assume you are familiar with cURL, REST and HTTP headers.
</blockquote>
<p>He shows how to make the requests for:</p>
<ul>
<li>Authentication
<li>Working with containers
<li>Adding files to a container
<li>Setting access permissions
</ul>]]></description>
      <pubDate>Tue, 28 Aug 2012 12:52:35 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Evan Coury: Getting started with the ZF2 skeleton and ZfcUser]]></title>
      <guid>http://www.phpdeveloper.org/news/18244</guid>
      <link>http://www.phpdeveloper.org/news/18244</link>
      <description><![CDATA[<p>
<i>Evan Coury</i> has a recent post to his site showing you how to set up and use the <a href="http://blog.evan.pro/getting-started-with-the-zf2-skeleton-and-zfcuser">ZF2 skeleton and ZfcUser</a> components of the Zend Framework 2.
</p>
<blockquote>
This is meant to be a short, easy-to-follow tutorial to help you get started with Zend Framework 2.0 and add perhaps one of the most common modules, <a href="https://github.com/ZF-Commons/ZfcUser">ZfcUser</a>. By the end of this tutorial, you'll have a simple ZF2 application with user registration and authentication capabilities.
</blockquote>
<p>He breaks it up into a three different steps:</p>
<ul>
<li>Getting the skeleton
<li>Setting up a database connection
<li>Installing ZfcUser
</ul>
<p>
He also provides some links to other handy resources and libraries you can use to extend the ZfcUser functionality with things like <a href="https://github.com/bjyoungblood/BjyAuthorize">ACL support</a>, <a href="https://github.com/cdli/CdliTwoStageSignup">two-stage signup</a> and <a href="https://github.com/EvanDotPro/EdpGithub">Github authentication integration</a>.
</p>]]></description>
      <pubDate>Wed, 18 Jul 2012 13:56:14 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Multi-Factor Authentication with PHP and Twilio]]></title>
      <guid>http://www.phpdeveloper.org/news/18129</guid>
      <link>http://www.phpdeveloper.org/news/18129</link>
      <description><![CDATA[<p>
In <a href="http://phpmaster.com/multi-factor-authentication-with-php-and-twilio/">this new tutorial</a> on PHPMaster.com, <i>Timothy Boronczk</i> looks at using the Twilio API and multi-factor authentication.
</p>
<blockquote>
You can make and receive phone calls and send and receive text messages using TwiML (Twilio Markup Language) and their REST API. You can work directly with the API, or use one of the <a href="http://www.twilio.com/docs/libraries">available helper libraries</a>. The library I'm using is <a href="https://github.com/twilio/twilio-php">twilio-php</a>, which is the library released and officially supported by Twilio.
</blockquote>
<p>
He shows you how to use the Twilio API library to create a connection object to their REST API and perform various actions like sending an SMS and placing a phone call. the code to built the multi-factor authentication is also included - a user login/password is checked against a database and a form is displayed (depending on if they want to voice call or SMS).
</p>]]></description>
      <pubDate>Fri, 22 Jun 2012 14:55:48 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[Dave Marshall's Blog: How I'm designing a RESTful(ish) web service]]></title>
      <guid>http://www.phpdeveloper.org/news/17570</guid>
      <link>http://www.phpdeveloper.org/news/17570</link>
      <description><![CDATA[<p>
<i>Dave Marshall</i> is in the process of building a "RESTish" web service and has <a href="http://davedevelopment.co.uk/2012/02/16/how-im-doing-rest.html">shared some of his planning steps</a> in a new post to his blog.
</p>
<blockquote>
This post is going to describe how I've ending up designing, what I consider to be a fairly RESTful web API. I'm far from being an expert, and this is definitely the closest thing to a RESTful API that I've ever created, so I'm not even experienced with REST APIs. [...] Until about 6 months ago, I'd always been sceptical of creating RESTful APIs, but I think I've had a few pennies drop since then that have made me fairly confident that I grasp the basics pretty well.
</blockquote>
<p>
He touches on topics like: authentication, the <a href="http://martinfowler.com/articles/richardsonMaturityModel.html">Richardson Maturity model</a>, HTTP verbs, sample request and response messages and some BDD-style tests to predict the output of a basic request.
</p>]]></description>
      <pubDate>Wed, 22 Feb 2012 09:13:31 -0600</pubDate>
    </item>
    <item>
      <title><![CDATA[Leaseweb Labs Blog: Migration to Symfony2 continued]]></title>
      <guid>http://www.phpdeveloper.org/news/17525</guid>
      <link>http://www.phpdeveloper.org/news/17525</link>
      <description><![CDATA[<p>
On the LeaseWeb Labs blog there's a continuation from a previous post about migrating your Symfony1 application over to Symfony2. In the <a href="http://phpdeveloper.org/news/17299">first part</a> of this series of posts, <i>Stefan Koopmanschap</i> talked about wrapping your code to make it work. In <a href="http://www.leaseweblabs.com/2012/02/migration-to-symfony2-continued/">this second post</a>, <i>Maurtis van der Schee</i> tackles two issues <i>Stefan</i> mentioned - performance problems and handling authorization/authentication.
</p>
<blockquote>
On December 21, 2011 Stefan Koopmanschap wrote an excellent article on this blog titled "Painless (well, less painful) migration to Symfony2." [...] We were very much inspired by his passionate elucidation and we were fully convinced of the urge to start migrating to Symfony2 as soon as possible. However, he also provided us with a "A word of caution" about 2 things: performance and authentication/authorization. This might get some people worried, but not us: it challenged us to find a solution for those two open issues.
</blockquote>
<p>
They explain why these two things are a problem and some of their solutions they've created - a .htaccess for routing and manually replicating the Symfony2 session in the Symfony1 code. Included in the post are the rewrite rules and code to make these two things happen (and a small configuration change to make them work).
</p>]]></description>
      <pubDate>Thu, 09 Feb 2012 11:51:59 -0600</pubDate>
    </item>
  </channel>
</rss>
