Bob's Notepad

Notes on projects I have done and things I have learned saved for my reference and for the world to share

Monday, January 07, 2008

Doing your own OpenID authentication

OpenID is an open standard for authentication on various, unrelated, websites. There are many providers that will provide you with an OpenID idenity but, in some ways, this defeates the purpose of OpenID since your ID is controlled by a person other than you. Just last night I ran into a situation where I was not able to do something with my ID that I wanted since I was using because I am not in control of my idenity page. Thanks to a fit of insomnia I did some research and implemented my own OpenID idenity -- and it was actually a lot easier than I expected.

In order to implemt this you need a website with PHP support. This can be done on any web server whether you are in control of it or not but it is recommended that it be a server you are in control of for obvious security reasons. We will use phpMyID since it is simple and serves the purpose well.

This works well if it has its own domain or subdomain but it really isn't a required thing. The OpenID that I created is My instructions assume you've created a domain or sub-domain for your OpenID but you can adapt as needed.

First thing, you need to register a domain and point that domain's DNS to your webserver and, of course, configure your webserver. I'm not going to touch on that because if you're doing this you probably should already know how and if not there are plenty of web pages out there that can help you with that.

Now you want to grab phpMyID. The latest version is 0.7 BETA and can be found here.

For me, I have my own server with shell access so I downloaded this directly to my server. This is, by far, the easiest method of implementing this but not everyone has this access so you can download it to your local machine, do the edits and then upload the files to your webserver. If you are uploading keep in mind that when I say editing a file you need to edit it and upload it if your not on the server.

There are 2 files that make up phpMyID. Really, that's it. Your OpenID set up is going to use only 2 php files. Let's get started:

  1. Put both files from the archive into your public_html or www directory
  2. Rename MyID.config.php to index.php
  3. Edit index.php and change "auth_username", "auth_password", and "auth_realm"
    • auth_realm doesn't need to be changed but can be anything you want it to be
    • auth_username is the username you want to authenticate as - this is for your use only
    • auth_password is an encrypted password which you can use OpenSSL to create (echo -n 'username:realm:password' | openssl md5).
      • Make sure you replace username and realm in the command with the same as used in auth_realm and auth_username
      • Windows User? Check here

  4. To use SREG, remove hash (#) marks from the values under the sreg array and replace the values with appropriate information. This allows these fields to be automagically filled in when logging into a site
  5. Save the file
You now have a working OpenID service. But if your OpenID is pointing to your OpenID then it would make sense to have some information about yourself on that page, wouldnt it? The PHP script doesnt allow any easy way of editing your page but it's something that may well be desired. You may ever want to use other Web 2.0 features like a pavatar. Let's make an easy way of doing this.
  1. First, create a file to contain your HTML code. We'll use "id.html" in this example.
  2. In this file you'll want to create your HTML page as you wish. Do not include body or html tags as we're going to leave the headers and such to the PHP script and then just inject this file in the middle.
  3. Open MyID.php in your favorite editor and go to line 1392
  4. Following the function call and the header information you will see some HTML code. Under the body tag we want to add the following:

    echo '

  5. Now look for the title tags above that. You can change the title to whatever you'd like the name of your OpenID page to be.

You should be all set and have an easier way to edit the information on your OpenID page.

Optionally, you may want to give credit to the author of phpMyID. You can place an HTML link before the close body tag in MyID.php.

Labels: ,

Reference Link


Blogger Rahul said...

Hello Admin, thank you for enlightening us with your knowledge sharing. PHP has become an inevitable part of web development, and with proper best PHP training in Chennai, one can have a strong career in the web development field.

22/10/15 7:54 AM  
Anonymous Anonymous said...

Thanks for taking the time to discuss this, I feel strongly about it and love learning more on this topic.
angularjs online Training

angularjs Training in marathahalli

angularjs interview questions and answers

angularjs Training in bangalore

angularjs Training in bangalore

angularjs online Training

30/10/18 8:35 AM  
Blogger sudha P said...

I am a regular reader of your blog and being students it is great to read that your responsibilities have not prevented you from continuing your study and other activities. Love
Java interview questions and answers

Java training in Chennai | Java training institute in Chennai | Java course in Chennai

Java training in Bangalore | Java training institute in Bangalore | Java course in Bangalore

Java interview questions and answers

2/11/18 3:36 AM  
Blogger shri yadav said...

This is beyond doubt a blog significant to follow. You’ve dig up a great deal to say about this topic, and so much awareness. I believe that you recognize how to construct people pay attention to what you have to pronounce, particularly with a concern that’s so vital. I am pleased to suggest this blog.
online Python training
python training in chennai

3/11/18 3:01 AM  
Blogger jeeva said...

Inspiring writings and I greatly admired what you have to say , I hope you continue to provide new ideas for us all and greetings success always for you..Keep update more information.

rpa training in chennai
rpa training in bangalore
rpa course in bangalore
best rpa training in bangalore
rpa online training

3/11/18 5:45 AM  
Blogger johnsy sai said...

Your good knowledge and kindness in playing with all the pieces were very useful. I don’t know what I would have done if I had not encountered such a step like this.
Devops Training courses
Devops Training in Bangalore
Best Devops Training in pune
Devops interview questions and answers

8/11/18 2:27 AM  
Blogger shalinipriya said...

Thank you for benefiting from time to focus on this kind of, I feel firmly about it and also really like comprehending far more with this particular subject matter. In case doable, when you get know-how, is it possible to thoughts modernizing your site together with far more details? It’s extremely useful to me.
Data Science training in rajaji nagar | Data Science Training in Bangalore
Data Science with Python training in chennai
Data Science training in electronic city
Data Science training in USA
Data science training in pune

8/11/18 2:59 AM  
Blogger sudhagar raja said...

I am really happy with your blog because your article is very unique and powerful for new reader.
Click here:
selenium training in chennai | selenium course in chennai
selenium training in bangalore | selenium course in bangalore
selenium training in Pune | selenium course in pune | selenium class in pune
selenium training in Pune | selenium course in pune | selenium class in pune
selenium online training | selenium training online | online training on selenium

8/11/18 6:20 AM  

Post a Comment

<< Home