Herkese selamlar,

Kendi OAuth server'imi kurmam gerekti.

OAuth2 proptokollorine göre üretilmiş Aşağıdaki şu Repository 'i kullanıyorum. (https://oauth.net/2/ öneriyor zaten)

https://github.com/bshaffer/oauth2-server-php

---------------------------------------

Şimdi, başarıyla

token kontrolü,
resource kontrolü,
authorize kontrolü yapıyorum.

---------------------------------------

Adamcağızın istediği database yapısını da oluşturdum.

Hatta "Klasik facebook bağlantısı EVET - HAYIR" ekranı gibi bir ekran bile yaptım Çalıştırdım.

---------------------------------------

Bu doğrulama yetkilendirme işinden filan pek anlamam. O yüzden takıldığım yerler ve yapmak istediklerim hakkında bilgiler vermeye başlayayım.
hatta yeri gelmişken bazı teknik soruları da sorayım hiç soru işareti kalmasın.

--------------------------------------

ÇALIŞMA ALANIM
http://localhost/workspace/temp/work...th2/server.php



TOKEN
http://localhost/workspace/temp/work-temp/oauth2/token.php

AUTHORIZE
http://localhost/workspace/temp/work-temp/oauth2/authorize.php

RESOURCE
http://localhost/workspace/temp/work-temp/oauth2/resource.php



ÖRNEK CLIENT
client_id -> onur
client_secret -> prototype
redirect_uri -> http://localhost/workspace/temp/work-temp/



---------------------------------------------------------------------------------------
authorize.php

http://localhost/workspace/temp/work...onur&state=xyz

Bunu sorguladığımda aşağıdaki bağlantı geliyor.

Burada response_type ve state ne halta yarıyor bilmiyorum



Yes dediğim zaman bana aşağıdaki bağlantı geliyor.


Data base'e baktığımda: authorization_code sütununa bu kod'u ekliyor, tabi client_id 'e de onur ekliyor.


BU AUTHORIZATION CODE ile ne yapacağımı bilmiyorum

__________________________________________________ __________________________________________________ _______________

Çok Yaşa POSTMAN
token.php

http://localhost/workspace/temp/work...uth2/token.php

Body form-data
grant_type : client_credentials

Basic Auth
onurrototype

şeklinde istekte bulunduğumda bana access_token veriyor.


sonra da

resource.php

http://localhost/workspace/temp/work-temp/oauth2/resource.php

OAuth 2.0
Access Token -> 772eb9a0f24e6dd1c5cd68377d19b9c85f01e134

isteğinde bulunduğumda, beni doğruluyor.




SORULARIM

1- authorize.php den aldığım AUTHORIZATION CODE ne işe yarıyor :/ :S
2- response_type=code, state= ne işe yarıyor

3- grand_types ne işe yararıyor?

4- CLIENT 'e şöyle girdim (grand_types boş değil)

Bu kez de http://localhost/workspace/temp/work-temp/oauth2/authorize.php?response_type=code&client_id=onur&st ate=xyz kodunu çalıştırdığımda,
beni redirect_uri de yazan yere şu mesaj ile yönlendirdi:

http://localhost/workspace/temp/work...t_id&state=xyz


KISACA YAPMAK İSTEDİĞİM

1- Öncelikle sitedeki CLIENT'in isteklerini (sorgularını) oturum açmasına rağmen API den işleyeceğim için API erişimi için gerekecek.

2- İleride API'mi mobil uygulamaya açacağım, burada da gerekecek.
3- Daha da abartacak olursam, (ETKİ ALANLARI ARASI) abc.com / dce.com gibi doğrulanmış oturumlarla API erişimi vereceğim. Yani bu şu demek olacak, abc.com daki bir üye profil resmini değiştirdiğinde dce.com da da değişecek.

---------------------------------------------------------

Tabi tüm bunları OAuth2 ile yapmak ne kadar mümkün onu da yazabilirsiniz.

---------------------------------------------------------