Bu makalemizde ise Login olduktan sonra aldığımız Access Token ı kullanarak webapi de authentication gereken bir fonksiyonu tetikleyeceğiz. Bu işlem için ihtiyaç duyacağımız Sql Function unu yazalım.
- Yazılım Uzmanları
- 13 Mayıs 2018
- 693 kez görüntülendi.
SQL den Web Uygulamamıza İstek Gönderme
Merhaba, bir önceki makalemizde Mvc deki Web api ye login olma işlemini gerçekleştirmiştik. Bu makalemizde ise Login olduktan sonra aldığımız Access Token ı kullanarak webapi de authentication gereken bir fonksiyonu tetikleyeceğiz. Bu işlem için ihtiyaç duyacağımız Sql Function unu yazalım.
ALTER function [dbo].[GetHttp]
(
@url varchar(8000),
@AccessToken varchar(max)
)
returns varchar(8000)
as
BEGIN
DECLARE @win int
DECLARE @hr int
DECLARE @text varchar(8000)
EXEC @hr=sp_OACreate 'WinHttp.WinHttpRequest.5.1',@win OUT
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win, 'Open',NULL,'GET',@url,'false' -- Get Methodu ile çağıracağız.
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
Exec @hr=sp_OAMethod @win, 'setRequestHeader', null, 'Content-Type', 'application/json;charset=UTF-8' -- Content Type ımızı JSON olarak ayarlıyoruz.
if @hr<> 0 EXEC sp_OAGetErrorInfo @win
Exec @hr=sp_OAMethod @win, 'setRequestHeader', null, 'Authorization', @AccessToken -- Gerekli Güvenlik adımları için elimizde bulunan AccessToken ı header a ekliyoruz.
if @hr<> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAMethod @win,'Send'
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OAGetProperty @win,'ResponseText',@text OUTPUT -- geri dönen değeri @text değişkenine aktarıyoruz.
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
EXEC @hr=sp_OADestroy @win
IF @hr <> 0 EXEC sp_OAGetErrorInfo @win
RETURN @text
END
Bu fonksiyonda göreceğiniz gibi dışarıdan iki ayrı parametre gönderiyoruz. Birincisi istekte bulunacağımız URL i yazıyoruz. ikinci parametrede ise Login fonksiyonundan aldığımız accesstoken ı gönderiyoruz.
Bu yazıya 0 yorum yapılmış.