Masonite框架的灵活社会认证

masonite-socialite的Python项目详细描述


Masonite社交名流

Masonite Framework的灵活社交身份验证

Build StatusGitHub licenseTwitter

目录

示例

classSocialAuthController(Controller):"""SocialAuthController Controller Class."""deflogin(self,socialite:Socialite):returnsocialite.driver('github').redirect()defcallback(self,view:View,request:Request,socialite:Socialite):user=socialite.driver('github').user()# Your application logic here.

安装

^{pr2}$

SocialiteProvider添加到config/providers.py中的提供者列表:

fromsocialite.providersimportSocialiteProviderPROVIDERS=[# Third Party ProvidersSocialiteProvider,]

这将向craft添加一个新的socialite:install命令。然后在终端上运行:

craft socialite:install

配置

在使用Socialite之前,您需要从要使用的提供者处获取凭据。根据应用程序所需的提供程序,您将在.env文件中放置正确的凭据:

# FacebookSOCIAL_AUTH_FACEBOOK_KEY=''SOCIAL_AUTH_FACEBOOK_SECRET=''SOCIAL_AUTH_FACEBOOK_REDIRECT_URI=''# TwitterSOCIAL_AUTH_TWITTER_KEY=''SOCIAL_AUTH_TWITTER_SECRET=''SOCIAL_AUTH_TWITTER_REDIRECT_URI=''# GoogleSOCIAL_AUTH_GOOGLE_OAUTH2_KEY=''SOCIAL_AUTH_GOOGLE_OAUTH2_SECRET=''SOCIAL_AUTH_GOOGLE_OAUTH2_REDIRECT_URI=''# GithubSOCIAL_AUTH_GITHUB_KEY=''SOCIAL_AUTH_GITHUB_SECRET=''SOCIAL_AUTH_GITHUB_REDIRECT_URI=''# LinkedInSOCIAL_AUTH_LINKEDIN_KEY=''SOCIAL_AUTH_LINKEDIN_SECRET=''SOCIAL_AUTH_LINKEDIN_OAUTH2_REDIRECT_URI=''

如果您不知道如何获得这些值,您可以找到一个详细的指南here。在

路由

您需要两个路由:一个用于将用户重定向到适当的OAuth提供程序,另一个用于在身份验证后从提供程序接收回调。在

"""Web Routes."""frommasonite.routesimportGetROUTES=[Get('auth/@provider','SocialAuthController@login'),Get('auth/@provider/callback','SocialAuthController@callback'),]

控制器

您可以使用Social助手访问Socialite

frommasonite.authimportAuthfrommasonite.controllersimportControllerfrommasonite.requestimportRequestfromapp.UserimportUserfromsocialiteimportSocialiteclassSocialAuthController(Controller):"""Controller For Social Authentication."""defredirect_to_provider(self,request:Request,socialite:Socialite):"""Redirect the user to the authentication page"""returnsocialite.driver(request.provider).redirect()defhandle_provider_callback(self,request:Request,socialite:Socialite,auth:Auth):"""Obtain the user information"""user=socialite.driver(request.provider).user()# => print(user)returnrequest.redirect('/home')

供应商

  • [x] Github公司
  • [x] 脸谱网
  • [x] 推特
  • [x] 谷歌
  • [x] Linkedin
  • []Gitlab公司

我们正在接受新的供应商。发送新的提供程序请求。您可以按照本教程添加新的提供程序。在

支持

Masonite Socialite感谢来自不同背景的帮助。小的改进或修复总是值得赞赏的,标记为容易的问题可能是一个好的起点。如果您正在考虑传统编码工作之外的更大贡献,请通过hellomasonite@gmail.com与我们联系。在

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
Grails2.1.0/Java7在Windows8.1上从何处获取当前用户名?   JavaSpringJMSActiveMQ   java异常处理,捕获导致while循环停止   sql server 2008将日期时间解析为JAVA日期   java是第一个servlet,但无法打开它   如何在Java中使用XML bean创建典型的XML头?   java将iOs应用程序转换为Android   java将jsp页面内容读取到其他jsp页面中的html   客户端计算机中小型数据库应用程序的java实现   java同步和ServletContextListener   安卓 Java将所有转义字符替换为双转义   当我在布局单元中实现ScrollView时,java GridView的setOnItemLongClickListener不起作用(使用适配器)   禁用Java web服务端点Wsdl   java如何编写一个程序来反转用户输入的数字