<?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>Thu, 20 Jun 2013 00:15:31 -0500</pubDate>
    <ttl>30</ttl>
    <item>
      <title><![CDATA[Sameer Borate: Simple user authentication in Laravel 4]]></title>
      <guid>http://www.phpdeveloper.org/news/19729</guid>
      <link>http://www.phpdeveloper.org/news/19729</link>
      <description><![CDATA[<p>
<i>Sameer Borate</i> has a new post today showing how you can do <a href="http://www.codediesel.com/frameworks/simple-user-authentication-in-laravel-4/">simple user authentication</a> in a <a href="http://laravel.com">Laravel 4</a>-based application using the built-in Auth functionality.
</p>
<blockquote>
With the recent release of Laravel 4, PHP developers have at their disposal one of the finest frameworks for application development. As with all new frameworks, it is always good to write some quick code to get a feel for the underlying architecture. The following post shows a simple authentication application using Laravel.
</blockquote>
<p>
He walks you through the creation of the simple "users" table, the configuration the Auth class will need to connect and authenticate and the form for the login. He also shows the steps for the actual authentication process as well as the code for the routes to make it all work. Additionally, he shows how to restrict pages to only those with the "admin" level access via an auth filter. You can download the <a href="http://www.codediesel.com/downloads/laravel-login-demo">example code here</a>.
</p>
Link: http://www.codediesel.com/frameworks/simple-user-authentication-in-laravel-4]]></description>
      <pubDate>Mon, 17 Jun 2013 14:22:01 -0500</pubDate>
    </item>
    <item>
      <title><![CDATA[PHPMaster.com: Understanding HTTP Digest Access Authentication]]></title>
      <guid>http://www.phpdeveloper.org/news/19614</guid>
      <link>http://www.phpdeveloper.org/news/19614</link>
      <description><![CDATA[<p>
On PHPMaster.com they've posted a new tutorial by <i>Sean Hudgston</i> that helps you <a href="http://phpmaster.com/understanding-http-digest-access-authentication/">understand HTTP digest authentication</a>, a simple way to authenticate a user or script against your application.
</p>
<blockquote>
Digest Access Authentication is one method that a client and server can use to exchange credentials over HTTP. This method uses a combination of the password and other bits of information to create an MD5 hash which is then sent to the server to authenticate. Sending a hash avoids the problems with sending a password in clear text, a shortfall of Basic Access Authentication.
</blockquote>
<p>
He starts out by looking at the "basic authentication" mechanism that's built into most web servers and points out that it has a major flaw - sending the username/password in (pretty much) plain text. Digest, on the other hand, uses a MD5 hash created from a few pieces of information including username, realm and request method. The result is sent as a header back to the server that can then be parsed by PHP. He also talks about improving on the basic version of the digest method using the qop, nc, and cnonce optional parameters.
</p>
Link: http://phpmaster.com/understanding-http-digest-access-authentication]]></description>
      <pubDate>Tue, 21 May 2013 12:09:02 -0500</pubDate>
    </item>
    <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>
  </channel>
</rss>
