Cloudrail https://dongthoigian.net/cong-nghe-moi/cloudrail/ Khám phá những thủ thuật máy tính Sat, 16 Jul 2022 13:34:32 +0000 vi hourly 1 https://wordpress.org/?v=6.7 https://dongthoigian.net/wp-content/uploads/2021/07/cropped-logo-dongthoigian-32x32.png Cloudrail https://dongthoigian.net/cong-nghe-moi/cloudrail/ 32 32 Cloudrail – Đăng nhập mạng xã hội https://dongthoigian.net/cloudrail-dang-nhap-mang-xa-hoi/ https://dongthoigian.net/cloudrail-dang-nhap-mang-xa-hoi/#respond Sat, 16 Jul 2022 13:33:12 +0000 https://dongthoigian.net/?p=14326 Chương này chỉ cung cấp tổng quan về Đăng nhập xã hội và trong các chương tiếp theo,

The post Cloudrail – Đăng nhập mạng xã hội appeared first on Dongthoigian.

]]>
Phần này trình bày trường hợp sử dụng của việc triển khai đăng nhập xã hội cho một ứng dụng (web). Chương này chỉ cung cấp tổng quan về Đăng nhập xã hội và trong các chương tiếp theo, chúng tôi sẽ hướng dẫn cách thiết lập nó cho Facebook và Twitter nhưng rất dễ dàng để thêm các dịch vụ khác như Google Plus, LinkedIn, GitHub, Instagram, Slack, Windows Live và Yahoo. Chúng tôi sẽ sử dụng Node.js với Express ở phía máy chủ.

Tại sao đăng nhập xã hội?

Một trong những lý do phổ biến nhất khiến các nhà phát triển phần mềm và kiến ​​trúc sư thêm phần phụ trợ vào (các) giao diện người dùng của họ là nhu cầu quản lý người dùng. Để quản lý người dùng hoạt động, chức năng đăng ký và đăng nhập là chìa khóa. Trước đây, hầu hết các ứng dụng đều có hệ thống xác thực riêng và do đó mọi người dùng cần chủ động tạo tài khoản bằng cách cung cấp địa chỉ email, mật khẩu và các thông tin khác.

Điều này không chỉ gây khó chịu cho người dùng mà còn gây mất an toàn. Nhiều người dùng sẽ sử dụng cùng một mật khẩu ở khắp mọi nơi, được gọi là mật khẩu mệt mỏi , và với mọi bên có mật khẩu được lưu trữ, xác suất nó bị đánh cắp sẽ tăng lên. Cuối cùng, ngày càng nhiều dịch vụ cung cấp “đăng nhập xã hội” (“Đăng nhập bằng Facebook”, “Đăng nhập bằng GitHub”, v.v.) để cải thiện trải nghiệm người dùng bằng cách cho phép người dùng đăng ký / đăng nhập bằng tài khoản đã có của họ trên một nền tảng phổ biến.

Cloudrail – Thiết lập

Đăng ký ứng dụng CloudRail

Sử dụng liên kết này để tạo ứng dụng mới (bạn có thể phải đăng nhập trước) – https://developers.cloudrail.com Bạn có thể tìm thấy khóa cấp phép CloudRail của mình trong phần tóm tắt ứng dụng.

Đăng ký ứng dụng Facebook

Sử dụng liên kết này để tạo ứng dụng mới (bạn có thể phải đăng nhập trước) – https://developers.facebook.com/apps/ . Sau đó nhấp vào nút ‘Thêm ứng dụng mới’, chọn ‘Thiết lập cơ bản’ và tạo ứng dụng mới. Trong phần trang tổng quan, bạn tìm thấy Khóa ứng dụng (Client ID) và Bí mật ứng dụng (Client Secret).

Đi tới ‘Thêm sản phẩm’ và chọn ‘Đăng nhập Facebook’. Đặt URI chuyển hướng thành ‘http: // localhost: 12345 / auth / redirect / facebook’ .

Đăng ký ứng dụng Twitter

Sử dụng liên kết này để tạo ứng dụng mới (bạn có thể phải đăng nhập trước) – https://apps.twitter.com/ Nhấp vào nút ‘Tạo ứng dụng mới’ và điền vào các chi tiết được yêu cầu. Nhấp vào ‘Chìa khóa và Mã thông báo truy cập’ và bạn sẽ tìm thấy Khóa ứng dụng (ID ứng dụng khách) và Bí mật ứng dụng (Bí mật ứng dụng). Đặt URI chuyển hướng thành ‘http: // localhost: 12345 / auth / redirect / twitter’ .

Khởi tạo một dự án Node.js mới

Đảm bảo rằng bạn đã cài đặt Node.js, tạo một thư mục mới, khởi tạo package.json và cài đặt Express và CloudRail bằng cách đưa ra các lệnh sau trong bảng điều khiển (hoặc các lệnh tương đương trên hệ điều hành không phải Unix)

mkdir myProject
cd myProject
npm init
npm i --save express cloudrail-si

Cloudrail – Mã hóa

Tạo tệp mới cho mã máy chủ của bạn trong thư mục đã tạo và thêm tệp sau để nhập và thiết lập Express và CloudRail –

javascript
const express = require("express");
const cloudrail = require("cloudrail-si");
const app = express();
cloudrail.Settings.setKey("[CloudRail license key]");

Bây giờ, chúng tôi tiếp tục bằng cách viết một hàm sẽ khởi tạo các dịch vụ mà chúng tôi muốn sử dụng để đăng nhập mạng xã hội –

javascript
function makeService(name, redirectReceiver) {
   let service;
   switch (name) {
      case "twitter":
         service = new cloudrail.services.Twitter(
            redirectReceiver,
            "[Twitter Client ID]",
            "[Twitter Client Secret]",
            "http://localhost:12345/auth/redirect/twitter"
         );
         break;
      case "facebook":
         service = new cloudrail.services.Facebook(
            redirectReceiver,
            "[Facebook Client ID]",
            "[Facebook Client Secret]",
            "http://localhost:12345/auth/redirect/facebook",
            "state"
         );
         break;
      // More services from the Profile interface can be added here, 
      //the services above are just examples
      default: throw new Error("Unrecognized service");
   }
   return service;
}

Chúng tôi cần một cách để theo dõi danh tính người dùng. Điều này thường được thực hiện trong cơ sở dữ liệu nhưng để giữ cho hướng dẫn này ngắn gọn, chúng tôi sẽ sử dụng một đối tượng hoạt động như một cơ sở dữ liệu giả .

Tất cả dữ liệu của nó được lưu trong bộ nhớ và do đó sẽ bị mất khi máy chủ khởi động lại –

javascript
const users = {
   records: {}
};
users.find = (id) ⇒ {
   return users.records[id];
};
users.save = (id, data) ⇒ {
   users.records[id] = data;
};

Sau đó, chúng tôi đăng ký điểm cuối máy chủ sẽ xử lý việc bắt đầu luồng đăng nhập xã hội –

javascript
app.get("/auth/start/:serviceName", (req, res) ⇒ {
   let serviceName = req.params["serviceName"];
   
   let redirectReceiver = (url, state, callback) ⇒ {
      res.redirect(url);
   };
   let service = makeService(serviceName, redirectReceiver);
   service.login();
});

Dịch vụ mà chúng tôi đã bắt đầu đăng nhập mạng xã hội sẽ chuyển hướng đến máy chủ của chúng tôi và chúng tôi cần xử lý chuyển hướng này. Sau khi nhận được số nhận dạng duy nhất cho người dùng, chúng tôi kiểm tra xem chúng tôi đã từng gặp người dùng này chưa. Nếu có, thì chúng tôi chào anh ta bằng tên của anh ta. Nếu không, chúng tôi lấy tên từ mạng xã hội và lưu một người dùng mới

javascript
app.get("/auth/redirect/:serviceName", (req, res) ⇒ {
   let serviceName = req.params["serviceName"];
   
   let redirectReceiver = (url, state, callback) ⇒ {
      callback(undefined, "http://bla.com" + req.url); 
      // The callback expects a complete URL but only the query matters
   };
	let service = makeService(serviceName, redirectReceiver);
   service.getIdentifier((err, identifier) ⇒ {
      if (err) res.status(500).send(err);
      let user = users.find(identifier);
      
      if (user) {
         res.send("Welcome back " + user.name);
      } else {
         service.getFullName((err, name) ⇒ {
            if (err) res.status(500).send(err);
            users.save(identifier, {
               name: name
            });
            res.send("Welcome greenhorn!");
         });
      }
   });
});

Cuối cùng, chúng tôi có máy chủ lắng nghe trên cổng 12345

javascript app.listen(12345);

Bây giờ chúng tôi có thể khởi động ứng dụng và kiểm tra nó trong trình duyệt cục bộ của chúng tôi.

Nếu bạn điều hướng đến http: // localhost: 12345 / auth / start / facebook, bạn sẽ bắt đầu quy trình đăng nhập Facebook.

Nếu bạn điều hướng đến http: // localhost: 12345 / auth / start / twitter, bạn sẽ bắt đầu quy trình đăng nhập Twitter.

Sau khi đăng nhập với dịch vụ và cấp quyền truy cập, bạn sẽ thấy thông báo “Chào mừng greenhorn!” nếu bạn làm điều đó lần đầu tiên và “Chào mừng bạn trở lại [tên của bạn]” trong những lần truy cập liên tiếp.

Ví dụ: để tích hợp nó vào một trang web thực tế, bạn sẽ bao gồm các biểu trưng của nhà cung cấp dịch vụ và làm cho các biểu trưng liên kết đến các URL tương ứng.

Bên cạnh đó, cơ sở dữ liệu giả nên được thay thế bằng cơ sở dữ liệu thực. Và bạn thực hiện, đăng nhập mạng xã hội cho tối đa 9 nhà cung cấp khác nhau!

The post Cloudrail – Đăng nhập mạng xã hội appeared first on Dongthoigian.

]]>
https://dongthoigian.net/cloudrail-dang-nhap-mang-xa-hoi/feed/ 0
Hướng dẫn về Cloudrail https://dongthoigian.net/huong-dan-ve-cloudrail/ https://dongthoigian.net/huong-dan-ve-cloudrail/#respond Fri, 15 Jul 2022 13:06:57 +0000 https://dongthoigian.net/?p=14321 CloudRail cung cấp các thư viện cho Android, Java, Node.js và iOS (Objective-C và Swift).

The post Hướng dẫn về Cloudrail appeared first on Dongthoigian.

]]>
CloudRail là một giải pháp tích hợp API giúp tăng tốc quá trình tích hợp các API của bên thứ ba vào một ứng dụng và duy trì chúng. Nó làm như vậy bằng cách cung cấp các thư viện cho nhiều nền tảng có các lớp trừu tượng kết hợp các dịch vụ tương tự đằng sau một giao diện chung.

Hướng dẫn này nhắm mục tiêu đến các nhà phát triển phần mềm muốn tìm hiểu cách mất ít thời gian hơn trong việc tích hợp API.

CloudRail cung cấp các thư viện cho Android, Java, Node.js và iOS (Objective-C và Swift). Cần có kiến ​​thức cơ bản về nền tảng tương ứng để sử dụng thư viện tương ứng. Bạn có thể nhanh chóng đăng ký một tài khoản miễn phí tại https://developers.cloudrail.com và nhận khóa cấp phép mà bạn sẽ cần để sử dụng thư viện

Cloudrail – Tổng quan

CloudRail là một giải pháp tích hợp API giúp tăng tốc quá trình tích hợp các API của bên thứ ba vào một ứng dụng và duy trì chúng. Nó làm như vậy bằng cách cung cấp các thư viện cho nhiều nền tảng có các lớp trừu tượng kết hợp các dịch vụ tương tự đằng sau một giao diện chung.

CloudRail – Tính năng

Dưới đây là danh sách một số tính năng nổi bật nhất của CloudRail –

  • API hợp nhất – CloudRail gói nhiều API web thành một API hợp nhất duy nhất. Ví dụ: hàm upload () hoạt động giống hệt với Dropbox cũng như đối với Google Drive. Bạn có thể dễ dàng tích hợp toàn bộ danh mục nhà cung cấp, ví dụ Đăng nhập xã hội hoặc thay đổi nhà cung cấp bằng một dòng mã.
  • Quản lý thay đổi API – API thay đổi liên tục, dẫn đến tích hợp bị hỏng, khách hàng không hài lòng và thậm chí lãng phí thời gian phát triển hơn. CloudRail giám sát tất cả các API và duy trì các tích hợp. Bạn nhận được thông báo ngay lập tức về các thay đổi và tất cả những gì bạn cần làm là cập nhật thư viện CloudRail lên phiên bản mới nhất – không cần thay đổi mã.
  • Thống kê API – Hiểu các API và chức năng nào đang được khách hàng của bạn sử dụng nhiều nhất. Nhận thông tin chi tiết cần thiết bạn cần để xác định các tính năng mới hoặc cải thiện các chiến dịch tiếp thị.
  • Dữ liệu trực tiếp – Không có dữ liệu nào của bạn sẽ vượt qua máy chủ CloudRail. Hệ thống không sử dụng phần mềm trung gian được lưu trữ. Tất cả chuyển đổi dữ liệu diễn ra trong thư viện CloudRail được tích hợp trong Ứng dụng của bạn. Điều này có nghĩa là không có lo ngại về quyền riêng tư dữ liệu, không có thời gian ngừng hoạt động và không có SPOF bổ sung.
  • OAuth Made Simple – Thực hiện xác thực OAuth là một công việc khó khăn. CloudRail làm cho việc ủy ​​quyền đơn giản như việc thêm một dòng mã.

Phiên bản miễn phí của CloudRail chỉ có thể được sử dụng cho mục đích phi thương mại hoặc thử nghiệm. Người dùng thương mại phải mua giấy phép

Cloudrail – Android

Phần này giới thiệu về cách sử dụng SDK Android của CloudRail.

Thiết lập

Cách dễ nhất để cài đặt là thông qua Maven. Nếu bạn đang sử dụng Android Studio với Gradle, chỉ cần thêm phần sau vào tệp build.gradle của bạn 

dependencies {
   compile 'com.cloudrail:cloudrail-si-android:2.8.1
}

Sử dụng

Ví dụ sau đây cho thấy cách tạo thư mục mới và tải tệp từ nội dung của ứng dụng Android lên thư mục mới được tạo trên bất kỳ nhà cung cấp dịch vụ lưu trữ đám mây nào.

java
CloudRail.setAppKey("[CloudRail License Key]");

// CloudStorage cs = new Box(context, "[clientIdentifier]", "[clientSecret]");
// CloudStorage cs = new OneDrive(context, "[clientIdentifier]", "[clientSecret]");
// CloudStorage cs = new GoogleDrive(context, "[clientIdentifier]", "[clientSecret]");
CloudStorage cs = new Dropbox(context, "[clientIdentifier]", "[clientSecret]");

new Thread() {
   @Override
   public void run() {
      cs.createFolder("/TestFolder"); // <---
      InputStream stream = null;
      
      try {
         AssetManager assetManager = getAssets();
         stream = assetManager.open("UserData.csv");
         long size = assetManager.openFd("UserData.csv").getLength();
         cs.upload("/TestFolder/Data.csv", stream, size, false); // <---
      } catch (Exception e) {
         // TODO: handle error
      } finally {
         // TODO: close stream
      }
   }
}.start();

Cloudrail – Java

Phần này giới thiệu về cách sử dụng Java SDK của CloudRail.

Thiết lập

Cách dễ nhất để cài đặt là thông qua Maven. Chỉ cần thêm phần sau vào tệp pom.xml của bạn là đủ

<dependencies>
   <dependency>
      <groupId>com.cloudrail</groupId>
      <artifactId>cloudrail-si-java</artifactId>
      <version>2.8.0</version>
   </dependency>
</dependencies>

Sử dụng

cloudrail

Ví dụ sau đây cho thấy cách tạo thư mục mới và tải tệp từ máy cục bộ lên thư mục mới tạo trên bất kỳ nhà cung cấp dịch vụ lưu trữ đám mây nào.

java
CloudRail.setAppKey("[CloudRail License Key]");

// CloudStorage cs = new Box(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
// CloudStorage cs = new OneDrive(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
// CloudStorage cs = new GoogleDrive(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
CloudStorage cs = new Dropbox(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
new Thread() {
   @Override
   public void run() {
      cs.createFolder("/TestFolder");
      InputStream stream = null;
      
      try {
         stream = getClass().getResourceAsStream("Data.csv");
         long size = new File(getClass().getResource("Data.csv").toURI()).length();
         cs.upload("/TestFolder/Data.csv", stream, size, false);
      } catch (Exception e) {
         // TODO: handle error
      } finally {
         // TODO: close stream
      }
   }
}.start();

Cloudrail – Node.js

Phần này giới thiệu về cách sử dụng SDK Node.js của CloudRail.

Thiết lập

Cách dễ nhất để cài đặt là thông qua NPM . Chỉ cần sử dụng lệnh sau:

npm install cloudrail-si

Sử dụng

Ví dụ sau đây cho thấy cách tạo thư mục mới và tải tệp từ máy cục bộ lên thư mục mới tạo trên bất kỳ nhà cung cấp dịch vụ lưu trữ đám mây nào.

javascript
const cloudrail = require("cloudrail-si");
cloudrail.Settings.setKey("[CloudRail License Key]");

// let cs = new cloudrail.services.Box(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
// let cs = new cloudrail.services.OneDrive(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
// let cs = new cloudrail.services.GoogleDrive(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");
let cs = new cloudrail.services.Dropbox(redirectReceiver, "[clientIdentifier]", "[clientSecret]", "[redirectUri]", "[state]");

cs.createFolder("/TestFolder", (err) => { // <---
   if (err) throw err;
   let fileStream = fs.createReadStream("UserData.csv");
   let size = fs.statSync("UserData.csv").size;
   
   cs.upload("/TestFolder/Data.csv", fileStream, size, false, (err) => { // <---
      if (err) throw err;
      console.log("Upload successfully finished");
   });
});

Thiết lập

Cách dễ nhất để cài đặt là thông qua CocoaPods . Chỉ cần thêm phần sau vào podfile của bạn –

pod "cloudrail-si-ios-sdk"

Đảm bảo rằng “use_frameworks!” cờ được đặt và chạy

Pod install

Sử dụng

Các ví dụ sau đây cho thấy cách tải xuống tệp từ bất kỳ nhà cung cấp dịch vụ lưu trữ đám mây nào trong Objective-C và Swift.

objective-c
// self.service = [[CROneDrive alloc] initWithClientId:@"clientIdentifier" clientSecret:@"clientSecret" redirectUri:@"REDIRURL" state:@"CRSTATE"];
// self.service = [[CRGoogleDrive alloc] initWithClientId:@"clientIdentifier" clientSecret:@"clientSecret" redirectUri:@"REDIRURL" state:@"CRSTATE"];
// self.service = [[CRBox alloc] initWithClientId:@"clientIdentifier" clientSecret:@"clientSecret" redirectUri:@"REDIRURL" state:@"CRSTATE"];

[CRCloudRail setAppKey:@"CLOUDRAIL_API_KEY"];
self.service = [[CRDropbox alloc] initWithClientId:@"clientIdentifier" 
   clientSecret:@"clientSecret" redirectUri:@"REDIRURL" state:@"CRSTATE"];

NSInputStream * object = [self.service downloadFileWithPath:@"/mudkip.jpg"];
//READ FROM STREAM

swift
//let cloudStorage : CloudStorageProtocol = Box.init(clientId: "ClientID", clientSecret: "ClientSecret")
//let cloudStorage : CloudStorageProtocol = GoogleDrive.init(clientId: "ClientID", clientSecret: "ClientSecret")
//let cloudStorage : CloudStorageProtocol = OneDrive.init(clientId: "ClientID", clientSecret: "ClientSecret")

CRCloudRail.setAppKey("CLOUDRAIL_API_KEY")
let cloudStorage : CloudStorageProtocol = Dropbox.init(
   clientId: "ClientID", clientSecret: "ClientSecret")
do {
   let inputStream = try cloudStorage.downloadFileWithPath("/TestFolder/Data.csv")
} catch let error{
   print("An error: \(error)")
}
//READ FROM STREAM

Cloudrail – Social Login  Đăng nhập mạng xã hội xem thêm

The post Hướng dẫn về Cloudrail appeared first on Dongthoigian.

]]>
https://dongthoigian.net/huong-dan-ve-cloudrail/feed/ 0