Skip to content
Bulutfon Net SDK
C# CSS Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
Bulutfon.Api
Bulutfon.MVC4.Test
Bulutfon.MVC4
Bulutfon.Model
Bulutfon.OAuth.Win
Bulutfon.OAuth
Bulutfon
BulutfonWebTest
Mvc4Demo
Mvc4Test
WinFormsDemo
packages
.gitignore
Bulutfon.sln
Bulutfon.v12.suo
README.md

README.md

Bulutfon .Net SDK

Bulutfon .Net SDK, ASP.NET MVC (4 ve üzeri) ve desktop (WinForms) projelerinin, Bulutfon OAuth ile kimlik doğrulaması (authentication) ve yetki alınması (authorization) işlemleri için gerekli fonksiyonları sağlar.

Kurulum

ASP.NET MVC

1- Bulutfon'u nuget ile projenize dahil edin Install-Package Bulutfon.MVC4

2- Geliştirme ve testler için öncelikle projeye https desteği eklenmelidir. Bunun için:

  • Projeyi seçip Properties penceresine geçin
  • SSL Enabledı True olarak belirleyin
  • SSL URLde https://localhost:44304/ gibi bir adres oluşacaktır, bu adresi kopyalayın
  • Projeye sağ tıklayıp menüden Propertiesi seçin
  • Açılan pencerede soldan Web sayfasını seçin
  • Project URL kısmına kopyalamış olduğunuz adresi yapıştırın

3- OAuth client'lara BulutfonWebClient eklenmelidir. Bunun için:

  • App_Start\AuthConfig.cs dosyasını açın
  • RegisterAuth() metoduna aşağıdaki kodu ekleyin:
	TokenRefreshCallback refreshCallback = new TokenRefreshCallback(tokenRefreshed);
	BulutfonWebClient client = new BulutfonWebClient(
                clientId: "CLIENT_ID_NIZ", // Bulutfon servisindeki uygulamanın Client ID'si
                clientSecret: "CLIENT_ID_NIZ", // Bulutfon servisindeki uygulamanın Client Secret'ı 
				refreshCallback: refreshCallback // Expire olan token refreshlendiğinde tetiklenecek method. Kullanmayacaksanız null değer gönderebilirsiniz. 
				);
    OAuthWebSecurity.RegisterClient(client, "Bulutfon", null);
	// Token yenilendiğinde tetiklenecek refreshCallback methodu
	public static void tokenRefreshed(object sender, string access_token, string refresh_token) {
		// Do something
	}

4- Bulutfon API'sine erişim

  • Örneğin mesaj (SMS) listesini çekmek için:
    • HomeController içinde aşağıdaki metodu oluşturun:
        [Authorize]
        public ActionResult Messages() {
            var messages = BulutfonApi.GetMessages((Token)Session[Token.Key]);
            return View(messages);
        }
  • View'u oluşturmak için ise:
    • Metot ismi üzerine sağ tıklayıp menüden Add View...'u seçin
    • Create a strongly-typed viewu işaretleyin
    • Model class olarak Message (Bulutfon.Sdk.Models) seçin
    • Scaffold template olarak List'i seçin
    • Add'e tıklayın 5- Bulutfon sitesindeki uygulama ayarlarından redirect uri kısmını güncelleyin (https://localhost:44304/Account/ExternalLoginCallback gibi bir adres olması gerektir)

DESKTOP (WINDOWS FORMS)

1- Bulutfon'u nuget ile projenize dahil edin Install-Package Bulutfon.OAuth.Win

2- Login olmak için ilgili düğme ya da menünün koduna aşağıdaki satırları ekleyin:

            var loggedIn = LoginForm.Login(
                "CLIENT_ID_NIZ", // Bulutfon servisindeki uygulamanın Client ID'si
                "CLIENT_SECRET"), // Bulutfon servisindeki uygulamanın Client Secret'ı
                this); // ya da null

3- Verilere erişmek için gene BulutfonApi metotlarından yararlanabilirsiniz. Örneğin:

            if (loggedIn) {
                //button1.Enabled = false;
                dataGridView1.DataSource = BulutfonApi.GetDids(Authentication.Token);
            }

4- Bulutfon sitesindeki uygulama ayarlarından redirect uri kısmını güncelleyin (urn:ietf:wg:oauth:2.0:oob)

5- Token expire olduğunda otomatik yenilenecektir. Bu eventı yakalayıp yeni tokenlara erişmek istiyorsanız. Token alındıktan sonra aşağıdaki kodu ekleyebilirsiniz.

		{	
            if (loggedIn) {
                //button1.Enabled = false;
				Authentication.Token.RefreshCallback += TokensRefreshed;
                dataGridView1.DataSource = BulutfonApi.GetDids(Authentication.Token);
            }

		}
		void TokensRefreshed(object sender, string access_token, string refreh_token)
        {
            
        }

BULUTFON API

BulutfonApi statik sınıfı dahilinde, hem web (MVC), hem de WinForms ve diğer .NET projeleri içinde kullanılacak tüm API fonksiyonları mevcuttur.

Örneğin mesajlar (SMS) için,

  • Mesaj listesi: GetMessages(/*token*/);
  • Mesaj detayları: GetMessage(id, /*token*/);
  • Mesaj gönderimi: SendSms(/*...*/);
  • vb.

LİSANS

Telif Hakkı (c) 2015, Bulutfon Telekomünikasyon A.Ş.

Bu yazılım MIT lisansı ile dağıtılmaktadır. http://opensource.org/licenses/MIT

You can’t perform that action at this time.