Bagaimana kita bisa mendapatkan token autentikasi Google menggunakan DotnetOpenAuth?

Saya sedang menulis aplikasi dalam .net yang akan membantu pengguna mendapatkan daftar langganan Pustaka Google mereka.

Saya berpikir untuk menggunakan DotnetOpenAuth untuk otentikasi dan kemudian mendapatkan token autentikasi Google. Pengguna akan memasukkan kredensial Google di situs Google dan akhirnya mereka akan diarahkan ke aplikasi saya dengan token autentikasi. Sekarang dengan menggunakan token autentikasi ini saya berencana membuat permintaan ke titik akhir pembaca Google yang mengembalikan daftar langganan sebagai file opml.

Adakah yang tahu? Tolong bagikan.


person ShankarSangoli    schedule 28.03.2013    source sumber
comment
Ini hanyalah komentar lembut dari sesama programmer seperti Anda. Saya tahu bahwa ini tidak akan menjawab pertanyaan Anda tetapi jika saya jadi Anda, saya tidak akan menghabiskan waktu untuk hal ini karena Pustaka Google akan segera dinonaktifkan. support.google.com/reader/answer/3028851   -  person PM_ME_YOUR_CODE    schedule 28.03.2013
comment
Alasan saya melakukan ini adalah karena pembaca Google akan hilang dalam beberapa hari. Saya ingin mendapatkan langganan pengguna dari google reader.   -  person ShankarSangoli    schedule 28.03.2013


Jawaban (1)


Saya menulis klien DotNetOpenAuth untuk Google yang menggunakan OAuth2. Anda seharusnya dapat menggunakan ini untuk mendapatkan kembali token autentikasi.

https://github.com/mj1856/DotNetOpenAuth.GoogleOAuth2

Jika Anda menggunakan kelas OAuthWebSecurity baru dari Microsoft.AspNet.WebPages.OAuth, maka Anda akan mendapatkan token akses Google yang dikembalikan kepada Anda sebagai hasil dari OauthWebSecurity.VerifyAuthentication dalam metode panggilan balik Anda.

UPDATE - Jawaban di atas khusus berkaitan dengan DotNetOpenAuth di MVC4. MVC5 tidak menggunakan DotNetOpenAuth, dan sudah dilengkapi dengan solusi Google OAuth.

person Matt Johnson-Pint    schedule 28.03.2013
comment
Untuk menggunakan Google oAuth2 apakah wajib memiliki client_id, client_secret dll? - person ShankarSangoli; 29.03.2013
comment
Ya. Anda membuat aplikasi di konsol dev Google untuk mendapatkannya. - person Matt Johnson-Pint; 29.03.2013
comment
Apakah tidak ada cara lain? - person ShankarSangoli; 29.03.2013
comment
Tentu saja tidak. Mengapa Google memberi Anda token autentikasi tanpa Anda diautentikasi? - person Matt Johnson-Pint; 29.03.2013
comment
Sebenarnya, saya berbicara dari sudut pandang OAuth2. Jika Anda ingin menggunakan OpenID, Anda tidak perlu melakukan praregistrasi aplikasi Anda. Tapi saya benar-benar tidak yakin apakah mereka akan memberi Anda token autentikasi saat Anda menggunakan OpenID atau tidak. Sebenarnya bukan itu yang dirancang untuk itu. - person Matt Johnson-Pint; 29.03.2013
comment
Anda benar OpenID tidak memberikan token autentikasi karena saya sudah mencobanya. - person ShankarSangoli; 29.03.2013
comment
Saya melihat Anda memberikan pengecualian jika cakupan yang diminta tidak disediakan. Apakah itu wajib? Jika tidak, berapa nilai yang mungkin darinya? - person ShankarSangoli; 29.03.2013
comment
Ada konstruktor di sana yang menyediakan beberapa cakupan default jika Anda tidak menyediakannya. Saya tidak tahu semua cakupan yang mungkin, atau apakah Anda perlu meneruskan cakupan khusus untuk Pustaka Google. Anda harus menggali dokumentasi. Sepertinya sebagian besar API Pustaka Google tidak berdokumen, atau dokumennya telah dihapus. Semoga beruntung. - person Matt Johnson-Pint; 29.03.2013
comment
Server jarak jauh mengembalikan kesalahan: (401) Tidak sah. Ini yang saya dapatkan setelah saya mengubah cakupannya menjadi google.com/reader/api. Namun tidak banyak bantuan dalam hal ini. Apakah Anda tahu dalam hal apa Google akan melakukan kesalahan ini? - person ShankarSangoli; 29.03.2013
comment
Tidak. Maaf. Saya tidak punya ide. - person Matt Johnson-Pint; 29.03.2013