天道酬勤,学无止境

authentication

什么是 OAuth,它如何保护 REST API 调用? [关闭](What is OAuth and how does it secure REST API calls? [closed])

问题 关闭。 这个问题需要更加集中。 它目前不接受答案。 想改善这个问题吗? 更新问题,使其仅通过编辑这篇文章来关注一个问题。 4年前关闭。 改进这个问题 我有移动应用程序 REST API 调用,它在没有任何令牌或安全机制的情况下访问我的服务器。 我想保护我的 API 调用。 我想了解什么是 OAuth 以及它如何保护我的移动应用程序 REST API 调用到我的服务器? 此外,我想详细了解 OAuth 中使用的以下字段。 我将从哪里得到下面的字段。 Consumer Key Consumer Secret Token Token Secret Timestamp Nonce 回答1 由于大多数提供商使用 OAuth 2.0 并且 OAuth 1.0 已被主要提供商弃用,我将解释 OAuth2.0 什么是 OAuth? OAuth 是一种开放的授权标准,通常用作互联网用户使用其 Microsoft、Google、Facebook、Twitter、One Network 等帐户登录第三方网站而不暴露其密码的一种方式。 您可以实现自己的 OAuth 服务器,这里我将解释社交身份验证。 所以这里的 OAuth 一词指的是 OAuth 的社交身份验证。 通俗地说,OAuth 允许用户使用帐户(Facebook、Google 等)登录到您的 Web 服务。 术语: 客户端:您的 API

2021-06-24 10:51:17    分类:技术分享    api   rest   authentication   oauth   oauth-2.0

使用 django python-social-auth 重定向后会话值丢失(Session value missing after redirect with django python-social-auth)

问题 我正在使用 python-social-auth 对 facebook 进行身份验证的 django 项目。 我在 localhost 上运行 django 服务器,并使用我的应用程序设置 facebook 以重定向到 http://127.0.0.1:8000/complete/facebook/,它开始 python-social-auth 的管道来验证用户。 我使用 postgres 作为我的数据库。 当调用此方法并尝试进行身份验证时,它无法找到有关会话的信息。 从 https://github.com/omab/python-social-auth/issues/534 ,我认为 sessionid cookie 正在被覆盖。 如果我将 facebook 重定向发送到不同的 url 以在没有身份验证的情况下加载静态页面,则没有错误,但我也没有从 facebook 进行身份验证或获取任何信息。 我将如何不覆盖 sessionid cookie - 如果当然,那是实际问题 - 或者我可能在这里遗漏了另一个问题? [03/Jun/2016 05:19:58] "GET /login/facebook/?next=/lithium-web/ HTTP/1.1" 302 0 Internal Server Error: /complete/facebook/ Traceback

2021-06-24 10:25:03    分类:技术分享    django   authentication   localhost   session-cookies   python-social-auth

使用自己的 Web 应用程序 API - 使用 OAuth2 进行身份验证过程(Consuming own API for web app - Authentication process with OAuth2)

问题 概述 我目前正在为一个图像共享应用程序创建 API,该应用程序将在网络上运行,并在未来某个时候在移动设备上运行。 我了解 API 构建的逻辑部分,但我仍在努力满足我自己对身份验证部分的要求。 因此,我的 API 必须可供全世界访问:具有访客访问权限的用户(例如,未登录的人可以上传)以及注册用户。 因此,当注册用户上传时,我显然希望用户信息与请求一起发送,并通过数据库中的外键将该用户信息附加到上传的图像中。 通过 OAuth2 进行身份验证 - 实现 我知道 OAuth2 是 API 身份验证的必经之路,所以我将实现这一点,但我真的很难弄清楚如何处理我的情况。 我想过使用client credentials授予并仅为我的 Web 应用程序生成一组凭据,并让它使用其client secret向 API 发送请求以获取访问令牌并让用户执行操作。 用户注册过程本身将使用此授权进行处理。 但是当用户注册并登录时呢? 我现在如何处理身份验证? 这是否需要另一笔拨款来接管? 我正在考虑在用户登录期间进行一些授权过程,以生成新的访问令牌。 这种方法有错吗? 我需要什么帮助 我需要您提供有关如何正确处理我的案例的身份验证流程的意见。 这种双向身份验证过程可能不是我需要的,但这是我理解的方式。 我将非常感谢您的支持。 回答1 iandayman 的回答有很多很好的信息

2021-06-24 09:55:12    分类:技术分享    authentication   oauth-2.0   credentials   api-design   user-accounts

JSF 2.0 简单登录页面(JSF 2.0 Simple login page)

问题 我需要限制对应用程序一部分的访问。 为了访问该部分,用户需要登录。我的数据库中有一个名为 User 的表,其中包含用户名和散列密码以及一个包含两个输入和一个提交的登录表单。 但是,我不知道应该使用哪些类/mathid 来登录用户(我假设 jsf 中支持此功能)。 另外,据我所知,我需要编辑我的 web.xml 以支持身份验证。 有人可以提出一个典型的解决方案和我需要做的一般步骤以获得该功能(非常感谢链接、有价值的教程)? 我还想知道如果此人未登录,我如何限制对另一个页面的访问,以便当用户键入指向页面的直接链接时,他将被重定向到主登录页面。 在此先感谢您的帮助。 格雷姆。 回答1 您可以使用 Servlet 3.0 中引入的 HttpServletRequest API: /** * Performs authentication via HttpServletRequest API */ public String login(String username, String password) throws IOException { try { getRequest().login(username, password); this.user = userDao.find(username); } catch (ServletException e) { JsfUtil

2021-06-24 09:31:18    分类:技术分享    authentication   postgresql   logging   jsf-2

How to logout and redirect to login page using Laravel 5.3?

I am using Laravel 5.3 and trying to implement authentication system. I used php artisan command make:auth to setup it. I edited the views according to my layout and redirecting it my dashboard page instead of home (set as default in setup). Now, when I am trying to logout it throwing me this error NotFoundHttpException in RouteCollection.php line 161 My code in routes/web.php is: Auth::routes(); Route::get('/pages/superadmin/dashboard', 'HomeController@index'); HomeController.php <?php namespace App\Http\Controllers; use Illuminate\Http\Request; class HomeController extends Controller { /** *

2021-06-24 09:00:43    分类:问答    php   authentication   laravel-5   logout

Xamarin.Auth with Google APIs: Renew credentials?

I'm trying to use Xamarin.Auth with the Xamarin Google-APIs to login to Google and access Drive. I've managed to get nearly everything working, but the authentication tokens seem to expire after about an hour. Everything works great for awhile, but after about an hour, when I attempt access, I get an Invalid Credentials [401] error and a leak: Google.Apis.Requests.RequestError Invalid Credentials [401] Errors [ Message[Invalid Credentials] Location[Authorization - header] Reason[authError] Domain[global] ] : GoogleDriveAgent: FetchRemoteFileList() Failed! with Exception: {0} [0:] Google.Apis

2021-06-24 08:55:16    分类:问答    authentication   google-api   xamarin   xamarin.auth

在 Firebase v3.0.1+ 中实现注销的最佳方法? Firebase.unauth 更新后被删除(Best way to implement logout in Firebase v3.0.1+? Firebase.unauth is removed after update)

问题 使用最近由 google 发布的新 firebase 3.0.1。 之前,我们有Firebase.unauth()方法 https://www.firebase.com/docs/web/api/firebase/unauth.html 但它是旧的API。 我在新 API 中看不到任何相关内容: https://firebase.google.com/docs/reference/node/index-all 你的解决方案是什么? 尝试使用类似的东西: Object.keys(localStorage).forEach(key => { if (key.indexOf('firebase') !== -1) { localStorage.removeItem(key); } }); 回答1 使用回调捕获错误: firebase.auth().signOut().then(function() { // Sign-out successful. }, function(error) { // An error happened. }); 或使用亚当提到的 .catch 。 firebase.auth().signOut() .then(function() { // Sign-out successful. }) .catch(function(error) { // An

2021-06-24 08:04:09    分类:技术分享    javascript   authentication   firebase   ecmascript-6

Custom channel based authentication with gRPC

How can I do simple channel authentication with gRPC in dotnet? I want to pass just the client machine name and the client service name during the channel connection, and then be able of getting those in the server once, as a way of identifying where are the request coming from. I do not want to pass them as metadata in every call, and I do not want to implement an additional method for that. I have been taking a look to the documentation and trying to implement some abstract classes like ServerCredentials but I do not see how it would be done neither if it is even possible due some internal

2021-06-24 08:03:30    分类:问答    c#   authentication   .net-core   basic-authentication   grpc

AspNetCore.Authentication.JwtBearer 失败,没有 SecurityTokenValidator 可用于带有 .net core RC2 的令牌(AspNetCore.Authentication.JwtBearer fails with No SecurityTokenValidator available for token with .net core RC2)

问题 我试图让一个简单的端点工作,它使用 AspNew.Security.OpenIdConnect.Server 发布和使用 JWT 令牌来发布令牌并使用 Microsoft.AspNetCore.Authentication.JwtBearer 进行验证。 我可以很好地生成令牌,但尝试对令牌进行身份验证失败,并显示错误Bearer was not authenticated. Failure message: No SecurityTokenValidator available for token: {token} Bearer was not authenticated. Failure message: No SecurityTokenValidator available for token: {token} 在这一点上,我已经剥离了所有内容,并具有以下内容: 项目.json { "dependencies": { "Microsoft.AspNetCore.Mvc": "1.0.0-rc2-final", "Microsoft.AspNetCore.Server.IISIntegration": "1.0.0-rc2-final", "Microsoft.AspNetCore.Server.Kestrel": "1.0.0-rc2-final", "Microsoft

2021-06-24 08:00:06    分类:技术分享    authentication   asp.net-core   jwt   openid-connect   aspnet-contrib

Phonegap + Sencha + Android : ajax request with a basic access authentication failled

I folks, I'm working on a Phonegap application and the Sencha framework. I try to reach a protected server but the authentication failed with Android (but not with iOS). I use the code below : Ext.Ajax.request({ url:"http://user:password@api.website.fr/query.json", method: 'GET', // I tried to send the header directly but it didn't work too headers: { "Authorization": "Basic s2dh3qs76jd2hqjsdh==" }, success: function (result, request) { alert(result); }, failure: function ( result, request) { for(var key in result) alert(result[key]); } }); The error message says me that an HTTP digest is

2021-06-24 07:48:30    分类:问答    javascript   http   authentication   cordova   extjs