Inilah laporan langsung dari Bangkok dari Windows Live Platform - Part 2. Pada posting kali ini, saya akan membahas tentang masalah identity, salah satu problematika yang sangat menarik saat ini. Surfing di Internet tak jarang memaksa kita untuk memiliki beberapa credential yang berbeda untuk mengakses beberapa portal. Saya pribadi memiliki kurang lebih 5 email address aktif, 2 alamat blog (IT Pro dan Developer), belum termasuk account di youtube, flickr, facebook, friendster, dsb. Terkadang memiliki banyak password di berbagai account yang berbeda membuat kita pusing.
Bila kita melihat dari kacamata developer, membuat account repository mungkin bukan merupakan suatu hal yang sulit. Jika menggunakan ASP.NET, kita sudah disediakan sebuah template yang tentu membuat pekerjaan ini menjadi jauh lebih mudah. Namun apakah membuat sistem credential mandiri dalam apapun web yang dibangun merupakan pilihan yang bijak? Dari sudut pandang user, memilki satu credential yang bisa dipakai untuk semua portal adalah opsi yang jauh lebih menarik.
Ada sebuah pilihan yang ditawarkan oleh Windows Live ID untuk mengatasi hal ini. Kita bisa menggunakan Windows LiveID untuk autentikasi user di web apapun yang kita buat. Mau tahu caranya?
1. Pastikan Anda memiliki account di Windows LiveID
2. Silahkan download source code disini dan buka dengan Visual Studio atau Visual Web Developer Express.
3. Silahkan masuk ke https://msm.live.com/app/default.aspx kemudian klik "Register Application" dan isi field yang dibutuhkan
4. Field Application Name dapat diisi dengan nama dari aplikasi web rekan
5. Field Return URL adalah alamat web page Anda yang mana akan dituju jika user telah berhasil memasukan credential, dalam case ini silahkan masukkan:
http://localhost:8008/Live%20ID%20Lab/webauth-handler.aspx
6. Field secret key akan digunakan dalam web.config dari aplikasi web yang dibuat
7. Setelah selesai mendaftarkan aplikasi web, Anda akan mendapatkan ID dari aplikasi yang telah diregistrasi
8. Silahkan buka file project demo yang sudah rekan download
9. Perhatikan file default.aspx dari source code tersebut.
<iframe
id="WebAuthControl"
name="WebAuthControl"
src="http://login.live.com/controls/WebAuth.htm?appid=<%=AppId%>&context=<%=AppId%>&style=font-size%3A+10pt%3B+font-family%3A+verdana%3B+background%3A+white%3B"
width="80px"
height="20px"
marginwidth="0"
marginheight="0"
align="middle"
frameborder="0"
scrolling="no">
</iframe>
10. Perhatikan pula code yang dipakai untuk memperlihatkan status login user
<p>
<% if(UserId == null) { %>
This application does not know who you are! Click the <b>Sign in</b> link above.
<% } else { %>
Now this application knows that you are the user with ID = "<b><%=UserId%></b>".
<% } %>
</p>
11. SIlahkan analisis code default.aspx.cs dan webauth-handler.aspx.cs
12. Field secret key dan application di harus diisi dalam application setting di file web.config
<appSettings>
<add key="wll_appid" value="001600008000B500"/>
<add key="wll_secret" value="narendawicaksono-11"/>
<add key="wll_securityalgorithm" value="wsignin1.0"/>
</appSettings>
13. Silahkan test web demo yang untuk mencoba authentikasi dengan Windows Live ID.
Cukup mudah bukan? Untuk lebih jauh dengan sistem authentikasi ini, silahkan navigasi browser rekan ke http://dev.live.com/tools. Ada beberapa sample code dari Windows LiveID's web authentication dengan berbagai bahasa pemrograman seperti Java, Perl, PHP, Phyton, dan Ruby.
Selamat Mencoba!
Narenda Wicaksono
Developer Advisor