ModernCpp.ir
259 subscribers
685 photos
41 videos
13 files
912 links
site : moderncpp.ir
Mail : info@moderncpp.ir
Admin: @FONQRI
C++ tutorials and ...
Download Telegram
همین الان ایمیل اومد دسترسیم به گوگل بارد باز شده کسی سوالی داشت بگه بپرسم
اگر هم میخواید chatgpt رو تست کنید میتونید برید به سایت freegpt.one اگر هم که میخواید بینگ چت رو تست کنید باید با مرورگر edge برید به بینگ و ثبت نام کنید به اونم من دسترسی دارم سوالی داشتید بگید بپرسم اگر خواستید چیزی رو تست کنید 😃

لینک کانال تلگرام: https://t.me/moderncpp_ir
#ai #chat #bing #gpt #bard #google #openai
ModernCpp.ir
همین الان ایمیل اومد دسترسیم به گوگل بارد باز شده کسی سوالی داشت بگه بپرسم اگر هم میخواید chatgpt رو تست کنید میتونید برید به سایت freegpt.one اگر هم که میخواید بینگ چت رو تست کنید باید با مرورگر edge برید به بینگ و ثبت نام کنید به اونم من دسترسی دارم سوالی…
اولین سوال
compare fastdds and kafka in order of publish subscribe

به نظرم توی بحث مقایسه تر و تمیز تر عمل میکنه چون بینگ چت و جی پی تی تابحال برام چارت نکشیدند برای مقایسه فقط نوشته میدادند مثلا قابلیت‌های یکی رو میگفت بعد قابلیت‌های بعدی رو میگفت بعد مقایسه میکرد توی متن مورد به مورد و مثل بارد جدول نمیکشید یک هیچ به نفع بارد


لینک کانال تلگرام: https://t.me/moderncpp_ir
#ai #chat #bard #google
سوال:
write and example to use auth2 in drogon c++ web freamwork and write server and client examples

جواب :
Drogon is a high-performance C++ web framework that supports OAuth2 authentication. In this example, we'll create a simple OAuth2 server and client using Drogon. We'll use the authorization code grant flow in this example.

First, let's create the OAuth2 server:

OAuth2Server/main.cpp
#include <drogon/drogon.h>
#include <drogon/orm/DbClient.h>
#include <drogon/orm/RestfulController.h>
#include <drogon/auth/OAuth2.h>

using namespace drogon;

int main()
{
// Initialize Drogon
drogon::app().loadConfigFile("config.json");

// Set up OAuth2 provider
auto oauth2 = drogon::OAuth2::newOAuth2Provider()
.clientId("your_client_id")
.clientSecret("your_client_secret")
.authorizationEndpoint("/oauth2/authorize")
.tokenEndpoint("/oauth2/token")
.build();

// Register OAuth2 provider
drogon::app().registerOAuth2Provider(oauth2);

// Start the server
drogon::app().run();

return 0;
}

OAuth2Server/config.json
{
"app": {
"threads_num": 1
},
"listeners": [
{
"address": "0.0.0.0",
"port": 8080,
"https": false
}
]
}

Now, let's create the OAuth2 client:

OAuth2Client/main.cpp
#include <drogon/drogon.h>
#include <drogon/auth/OAuth2.h>

using namespace drogon;

int main()
{
// Initialize Drogon
drogon::app().loadConfigFile("config.json");

// Set up OAuth2 client
auto oauth2Client = drogon::OAuth2::newOAuth2Client()
.clientId("your_client_id")
.clientSecret("your_client_secret")
.authorizationEndpoint("http://localhost:8080/oauth2/authorize")
.tokenEndpoint("http://localhost:8080/oauth2/token")
.build();

// Register OAuth2 client
drogon::app().registerOAuth2Client(oauth2Client);

// Start the client
drogon::app().run();

return 0;
}

OAuth2Client/config.json
{
"app": {
"threads_num": 1
},
"listeners": [
{
"address": "0.0.0.0",
"port": 8081,
"https": false
}
]
}

To test the OAuth2 server and client, run both applications and access the client's authorization endpoint using a web browser. The user will be redirected to the server's authorization endpoint and then back to the client after successful authentication. The client will then use the authorization code to request an access token from the server's token endpoint.

Please note that this example is just a starting point and doesn't include the implementation of user authentication or resource protection. You'll need to implement these features according to your application's requirements. You can find more information about Drogon and its OAuth2 support in the official documentation.

لینک کانال تلگرام: https://t.me/moderncpp_ir
#chat #gpt4