Pertama saya akan membuat sketsa proyek saya:
Untuk magang saya, saya perlu menambahkan fungsionalitas ke sistem yang ada. Klien pihak ke-3 harus dapat mengakses data dari layanan Web AX begitu dia diizinkan oleh pengguna melalui OAuth2. Saya mengerti bahwa saya perlu membuat 'layanan web proxy' di mana klien dapat melakukan panggilan dan yang memanggil layanan AX tetapi saya agak tidak yakin tentang bagian OAuth2. Sebagian besar tutorial dan panduan tentang cara menggunakan ASP.NET's Identity untuk Facebook atau Google-login. Saya tidak membutuhkan itu, saya perlu menggunakan kredensial yang sudah ada sehingga saya perlu membuat layanan OAuth2 saya sendiri.
Saya kesulitan menemukan tutorial, panduan, atau penjelasan tentang ini. Saya mengerti OAuth2 dan apa yang perlu dilakukan, tetapi saya belum pernah melakukan hal seperti itu sebelumnya dan sulit untuk memulai. Hal yang paling dekat dengan yang saya butuhkan adalah tautan repo github ini , tetapi solusinya tidak dibangun.
Apa yang saya pikirkan adalah membuat Situs Web ASP.NET MVC di mana klien (pihak ketiga) dapat mendaftarkan diri dan memperoleh ID Klien mereka. Dengan ASP.NET API saya ingin membuat API yang mengambil token dan parameter yang diperlukan, dan kemudian mengakses layanan Dyn AX.
Apakah ini benar atau saya sepenuhnya salah? Bantuan atau tautan apa pun yang terkait dengan membangun server / layanan oauth2 Anda sendiri akan menyenangkan.
Jawaban:
Ada posting blog yang brilian dari Taiseer Joudeh dengan deskripsi langkah demi langkah yang terperinci.
sumber
Authentication
. Saya dapat melakukan semua yang saya inginkan seperti mendapatkan / memposting / menaruh / menghapus.Saya juga kesulitan menemukan artikel tentang cara membuat bagian token. Saya tidak pernah menemukan dan menulis sendiri. Jadi, jika itu membantu:
Yang harus dilakukan adalah:
Microsoft.Owin
Microsoft.Owin.Host.SystemWeb
Microsoft.Owin.Security.OAuth
Microsoft.AspNet.Identity.Owin
startup
kelas OWINKemudian buat file HTML dan JavaScript (
index.js
) dengan konten ini:Kelas OWIN
startup
harus memiliki konten ini:Jalankan proyek Anda. Token harus ditampilkan di jendela sembul.
sumber
Microsoft ASP.NET Identity Owin
bermain? Apakah Anda menggunakan ASP.NET Identity untuk otentikasi pengguna Anda? Jika tidak, apakah paket NuGet ini masih diperlukan?app.UseOAuthBearerTokens(OAuthOptions);
tidak akan bekerja tanpaMicrosoft ASP.NET Identity Owin
. Itu tidak mengenali metodeUseOAuthBearerTokens
.Saya sedang meneliti hal yang sama dan menemukan server identitas yang mengimplementasikan OAuth dan OpenID di atas ASP.NET. Ini terintegrasi dengan identitas ASP.NET dan Keanggotaan Reboot dengan dukungan kegigihan untuk Entity Framework.
Jadi, untuk menjawab pertanyaan Anda, periksa dokumen terperinci mereka tentang cara menyiapkan server OAuth dan OpenID .
sumber
Gmail: OAuth
Client ID
danSecret ID
. Terakhir, klik OK untuk menutup kredensial yang muncul.Google API
. Klik Ikhtisar di panel kiri.Google API
bawah API Sosial.Itu semua dari bagian Google.
Kembali ke aplikasi Anda, buka
App_start/Startup.Auth.cs
dan batalkan komentar pada cuplikan berikutPerbarui
ClientId
danClientSecret
dengan nilai dariGoogle API
kredensial yang telah Anda buat.Gmail
id.Gmail
id ke dalam basis data aplikasi Anda.sumber
Why punish that effort?
Mungkin SO membutuhkan cara untuk menandai jawaban yang tidak sesuai dengan pertanyaan OP. Atau untuk memungkinkan pengguna menyarankannya dipindahkan ke pertanyaan yang lebih tepat ... atau untuk membuat pertanyaan baru dari jawabannya.