Skip to content

About

Channel adapters for Veriqa: sign-in and confirmation in Discord, Slack, LINE, Microsoft Teams, Zalo, KakaoTalk, Threema, Instagram and Messenger through UChat, Viber and WeChat. .NET and Python

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

 

History

2 Commits

Folders and files

NameName
Last commit message
Last commit date
 
 
 
 
 
 
 
 

Repository files navigation

Channel adapters for Veriqa: Discord, Slack, LINE, Microsoft Teams, Zalo, KakaoTalk, Threema, VK, UChat, Viber and WeChat — in .NET and Python

Your users sign in and confirm actions in the messaging app they already use: Discord, Slack, LINE, Microsoft Teams, Zalo, KakaoTalk, Threema, VK, or Instagram and Messenger through a UChat bot. Each adapter here adds one messaging app to Veriqa as a channel. Veriqa is an open-source OpenID Connect provider you run yourself, so your app keeps receiving standard OpenID Connect tokens whichever channel the user picks.

The repository also holds Python adapters for Viber and WeChat. Veriqa has these two channels built in; the adapters here show how to connect a messaging app in a language other than .NET.

Two ways to plug an adapter in

  • In your host — dotnet/<Channel>/. Each adapter is an assembly, Veriqa.ChannelAdapter.<Channel>, built against the Veriqa.Core.Contracts and Veriqa.Core.ChannelAdapter packages from nuget.org. You register it in a host that embeds the Veriqa server core; the README of each adapter ends with a minimal host.
  • Next to Veriqa — dotnet/UChatService/, python/viber/ and python/wechat/. The adapter runs as a service of its own and plugs in through the HTTP channel of Veriqa by configuration alone: no code in Veriqa and no rebuild of it. See Build a channel in any language.

Adapters and how far they are verified

"Live" means a run against the real platform with a real bot or app. "Stand-in" means a full sign-in against a local double of the platform API, written from the platform documentation: it checks the adapter against our reading of the protocol, not against the platform itself.

Adapter Folder How it plugs in Verified
Slack dotnet/Slack in your host live, both outcomes; the start by a sign-in code — unit tests only
Discord dotnet/Discord in your host live, both outcomes, the QR code and the slash command; the start by a sign-in code — unit tests only
LINE dotnet/Line in your host stand-in
Microsoft Teams dotnet/Teams in your host stand-in
Zalo dotnet/Zalo in your host stand-in
KakaoTalk dotnet/KakaoTalk in your host stand-in
Threema dotnet/Threema in your host stand-in
VK dotnet/channel-adapters-ru/adapters/Vk in your host, from the Veriqa.ChannelAdapter.Ru.Vk package on nuget.org, or next to Veriqa, as a container image live as a container image, over Long Poll and the Callback API; the package form — unit tests only
Instagram and Messenger through a UChat bot dotnet/UChatService next to Veriqa, a .NET service stand-in: the HTTP channel conformance suite passes in full
Viber python/viber next to Veriqa, Python stand-in
WeChat python/wechat next to Veriqa, Python stand-in

Before you set a platform up, read the README of its adapter: where an adapter was run live, it notes the platform settings and pitfalls the documentation alone does not reveal.

Build the .NET adapters

cd dotnet
dotnet build Slack/Veriqa.ChannelAdapter.Slack.Tests
dotnet test Slack/Veriqa.ChannelAdapter.Slack.Tests

The same works for every adapter folder. The core version is pinned once for all of them in dotnet/Directory.Build.props (VeriqaCoreVersion), and the packages come from nuget.org. The build applies the analyzers of the Veriqa core: banned APIs (dotnet/build/BannedSymbols.txt), threading rules and strict nullability.

VK builds separately: dotnet/channel-adapters-ru/ holds the VK adapter and the shared host that serves it next to Veriqa, with their own Directory.Build.props, so run dotnet build Veriqa.ChannelAdapters.Ru.slnx from that folder.

On the core, registering an adapter is not enough for the sign-in page to offer the channel: the host also registers a CoreChannelDeclaration for the channel type, as the host examples in the adapter READMEs show.

Run an adapter next to Veriqa

dotnet/UChatService/, dotnet/channel-adapters-ru/adapters/Vk/, python/viber/ and python/wechat/ each have a compose.yaml that starts Veriqa and the adapter together. The steps, the settings and the platform setup are in the README of the adapter.

Going further

License

MIT — see LICENSE. Third-party libraries an adapter uses keep their own licenses: the README of the adapter names them.

About

Channel adapters for Veriqa: sign-in and confirmation in Discord, Slack, LINE, Microsoft Teams, Zalo, KakaoTalk, Threema, Instagram and Messenger through UChat, Viber and WeChat. .NET and Python

Topics

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages