标签: token

C宏令牌连接涉及变量 - 是否可能?

我正在尝试定义一个宏来生成一个包含变量的令牌名称.

基本上,我正在尝试的是:

#define GLUER(x,y,z) x##y##z
#define PxDIR(x) GLUER(P,x,DIR)

int main() {
  int port;
  port = 2;
  PxDIR(port) |= 0x01;
}
Run Code Online (Sandbox Code Playgroud)

我希望在上面的语句中生成令牌P2DIR,但根据我的编译器输出,它生成令牌PportDIR,这不是我想要的.这里有什么帮助?或者我正在尝试做什么不可能?

c concatenation token stringification c-preprocessor

8
推荐指数
3
解决办法
1万
查看次数

我在哪里可以获得Urban Airship进行iOS注册所需的设备令牌?

来自在线API:

HTTP PUT到/ api/device_tokens /在我们的端部注册设备令牌.这让我们知道设备令牌是活动的,并且应该在每次打开应用程序时发生,以确保设备令牌列表保持最新.

我如何首先获取设备令牌?

mobile token ios

8
推荐指数
1
解决办法
7031
查看次数

在Rails 4中生成带有令牌的唯一URL,以获取外部表单响应

我有一个"反馈"模型,用户应该能够请求他/她的工作表现反馈.我已经编写了用于创建新反馈请求的基本操作,以及用于将请求发送给提供者的邮件程序(将通过反馈回复的人).

我希望社区提供有关实施以下内容的建议:

  • 创建新的反馈请求后,发送的电子邮件应包含指向表单的链接,供应商可以在其中输入有关用户性能的反馈.
  • 不应要求反馈提供者以任何方式登录或注册(即完全在应用程序外部).
  • 提交后,应在系统中捕获提供者的反馈.

现在,我有以下想法来实现它,但我不确定这是否是最好的方法:

  • 在创建新的反馈请求时生成唯一令牌.这样的事情:在Rails中创建唯一令牌的最佳方法是什么?.
  • 然后应将令牌输入"反馈"表.
  • 然后Mailer应该生成变量(例如@url),它生成到另一个控制器的链接(假设'external_feedback'和不需要登录的动作(例如没有来自Devise的before_filter:authenticate_user!).
  • 该URL应包含带有特定反馈请求令牌的参数.
  • 操作应该是更新"反馈"请求和使用simple_form生成的表单.

整个事情类似于回答调查问卷或调查(如Survey Monkey).

经过一些研究后,我相信Friendly ID gem在这里可能很有用.我还在阅读http://guides.rubyonrails.org/form_helpers.html的第8节,也许我需要在正式意义上实现authenticity_token.我真正想要的是:

  • 上述方法通常是正确的方法吗?
  • 如果是,有关如何实施它的任何细节(有或没有友好ID)?
  • 您知道存在用于生成此类URL /令牌的任何宝石吗?

先感谢您.我现在包括模型和控制器详细信息的当前状态:

feedback.rb
# == Schema Information
#
# Table name: feedbacks
#
#  id           :integer          not null, primary key
#  user_id      :integer
#  p_first_name :string(255)
#  p_last_name  :string(255)
#  p_email      :string(255)
#  goal_id      :integer
#  u_comment    :text
#  p_comment    :text
#  created_at   :datetime
#  updated_at   :datetime
#

class Feedback < ActiveRecord::Base
  belongs_to :user
  belongs_to :goal

  has_many …
Run Code Online (Sandbox Code Playgroud)

url-routing token friendly-id ruby-on-rails-4

8
推荐指数
1
解决办法
6319
查看次数

接受facebook登录我的REST API

我有一个后端服务器(Java/Spring/Spring Security).目前,当移动应用程序用户登录时,他们只需提交用户名/密码,Spring Security就会创建一个会话,并使用JSESSIONID将其分配给请求.

我们现在还在移动应用程序"使用Facebook登录"上有一个按钮.以下是我对其如何运作的理解.

  1. 移动应用使用facebook SDK获取"access_token"
  2. 移动应用程序从facebook(名称,姓氏,电子邮件等)中检索USer个人资料
  3. 如果用户名是唯一的,则移动检查(针对MY服务器)
  4. 如果用户名是唯一的,请调用MY REST api,使用此类/ login/facebook POST over SSL并传递access_token,电子邮件,用户名等...)
  5. 然后我的服务器检查access_token是否有效

    GET graph.facebook.com/debug_token? input_token={token-to-inspect} &access_token={app-token-or-admin-token}

  6. 如果是,如果facebook返回的UID已存在于我的本地数据库中,我将用户签名如下:
SecurityContextHolder.getContext().setAuthentication(
                new UsernamePasswordAuthenticationToken(username, null, ROLE_USER));
Run Code Online (Sandbox Code Playgroud)
  1. 如果我找不到UID,我只需创建一个新用户并登录该用户.

  2. 从现在起,移动设备向服务器发出的每个请求都将具有SESSION(由spring security创建并附加),并且移动应用程序已通过身份验证

有人能告诉我这是否是一种好的做事方式?我应该停止使用会话并切换到Spring-Security-OAUTH2吗?


编辑1

根据Dave建议,这里是更新的spring-security配置:

    <!- handle login by providing a token-->
    <security:http pattern="/login/facebook" auto-config="false" use-expressions="true" entry-point-ref="loginUrlAuthenticationEntryPoint">
                <security:custom-filter ref="facebookLoginFilter" position="FORM_LOGIN_FILTER"/>
                <security:intercept-url pattern="/**" access="isAuthenticated()" />
    </security:http>


    <bean id="loginUrlAuthenticationEntryPoint" class="org.springframework.security.web.authentication.LoginUrlAuthenticationEntryPoint">
                <constructor-arg value="/login/facebook"></constructor-arg>
    </bean>

    <!-- handle basic username + password logins-->
    <security:http auto-config="true" use-expressions="true" entry-point-ref="forbiddenEntryPoint">
                <security:form-login login-processing-url="/security_check" authentication-failure-handler-ref="authFailureHandler"
                                     default-target-url="/" always-use-default-target="true" authentication-success-handler-ref="authSuccessHandler" />
                ...
                my others patterns.. …
Run Code Online (Sandbox Code Playgroud)

rest facebook token spring-security spring-security-oauth2

8
推荐指数
1
解决办法
3649
查看次数

使用 URL + 令牌访问 GitHub 上的原始文件

在 Gradle 脚本中,我直接在我的 GitHub 帐户上引用了一个文件,如下所示:

buildscript { scriptHandler ->
    apply from: 'https://github.com/raw/foo/bar-repo/master/repos.gradle?token=DFXD68SDF9DFKvNY-801UJHUHDUVdsd782MewA%3fks5D%3D', to: scriptHandler

    dependencies {
        // some dependencies
    }
}
Run Code Online (Sandbox Code Playgroud)

我通过转到有关文件的 GitHub 页面上的“原始”链接获得了 URL。

当我运行本地构建时,一切正常,我的构建可以检索包含访问令牌的 URL 引用的原始文件。

这是否有任何危险(我将 URL 保密在我的组织中)。令牌会过期吗?我想在 buildscript 块中共享通用配置,例如 URL,这似乎是最简单的方法。

编辑:我已经转到我的 GitHub 帐户的安全部分并撤销所有会话并注销(以结束我当前的会话)。该网址仍然有效。

url github token gradle

8
推荐指数
0
解决办法
1218
查看次数

LDAP JWT OAuth方案说明

我正在尝试系统化我对oauth + jwt + LDAP授权的了解.我已经阅读了多篇优秀文章(即这篇文章)但仍有疑问:

我的理解:

  1. JWT是允许单点登录(SSO)的令牌.它比简单的令牌身份验证更安全,因为它加密所有用户特定的信息(例如userName,password,clientAppId,ip address等).此信息使用内部授权服务器密钥签名,攻击者无法更改. 在此输入图像描述
  2. 这里,看下面的短语.据我所知,这意味着每个HTTP前端服务器都不需要查找会话数据.但它需要查找权限服务器.有什么好处?这不是同一个故障点吗?为什么JWT被认为是无国籍的?JWT仍然需要在权限服务器上保留用户数据,对吗?

    服务器端存储问题消失了.

  3. 如果您需要在有效期之前注销用户使用JWT - 您需要保留黑名单.那么没有SSO的简单令牌uath的好处是什么?
  4. JWT是OpenID的实现(仅限身份验证)吗?
  5. 在没有OAuth的情况下,使用JWT(令牌)对服务器2服务器进行自动登录是不可能的.当您无需用户参与即代表用户授权来自某些服务的请求时,将使用Oauth.为什么令牌不可能与OAuth一起使用?
  6. OAuth还用于配置灵活的访问策略,如角色,组等.但为什么你不能基于令牌/ JWT自己实现它们?
  7. LDAP服务器对于小的非互连数据片段的读取操作非常快,作为用户凭证.LDAP在jwt-oauth方案中(或在OppenID Connect中)在哪里?LDAP用于身份验证(JWT)还是授权(OAuth)?

security openid oauth token jwt

8
推荐指数
1
解决办法
2314
查看次数

是否有必要每次请求刷新令牌?

我在这里因为我对谷歌上发现的东西不满意.

我一般都在构建SPA,所以对我来说这个过程很简单:成功登录后会生成一个jwt并将其用于我从客户端发出的每个请求.

有人告诉我,我应该刷新该令牌并为我提出的每个请求发回一个新令牌.这对我来说有意义吗?我的意思是,如果有人试图破解我,嗅探请求将给黑客提供我收到的相同令牌,那么捕获的是什么?

我的意思是,如果我在另一个请求完成之前发出请求怎么办?从理论上讲,我会发送两次相同的令牌,其中一个请求将被拒绝.

这是如何正确处理的?我相信这比我自己想象的更多.

api token jwt single-page-application

8
推荐指数
1
解决办法
8723
查看次数

Laravel CSRF保护

我知道CSRF攻击是什么,我已经阅读了有关它的文档,但是我无法理解CSRF保护如何深入工作,并且有一些我无法找到的一般性问题.

文档中,它说Laravel会自动为其生成令牌

...由应用程序管理的每个活动用户会话.

  1. 它在哪里创建令牌(代码的哪一部分触发它)?
  2. 创建后,令牌在cookie中存储在哪里?在会议中?如何提取并查看已存储的内容?这一切都是由session.php
  3. 当我重新加载页面时,这意味着什么,令牌仍然与session.php120分钟的默认生命周期相同?
  4. 如果我将我的domain属性设置为导航到同一个应用程序处理的子域,那么该cookie会发生什么"." . env('APP_URL')

因此,一旦令牌被创建并存储在某个地方,在发出请求时,我必须向csrf_token()表单提供隐藏属性,或者将其生成为元字段并在我正在执行AJAX请求时重定向到我的JS文件.

  1. 那么当我实际提出请求时,在低级别会发生什么?请求生成csrf_token(),Laravel加密cookie,Laravel检查发送的cookie是否与会话中的cookie相同.如果是,则表示请求有效,如果不是,则抛出TokenMissmatchException

  2. 这是否意味着cookie生命周期内的每个请求都具有相同的令牌?

  3. Laravel是否以不同方式加密请求和响应cookie?如果我在EncryptCookies类I中从cookie加密中排除令牌获得相同的令牌,但是当我离开它时,哈希是不同的.

  4. 如何_token在请求数据中提供与转发令牌不同的X-CSRF-TOKEN标头?如果我看到它们未加密,Laravel如何验证这些?请求后他们是否加密?

php cookies csrf token laravel

8
推荐指数
1
解决办法
628
查看次数

对 JSON REST API 进行身份验证时如何获取会话令牌(在 R 中)

我正在尝试从 REST API访问 JSON 数据(在R 中)。

为了验证自己的身份,我需要在https://dashboard.server.eu/login 中使用 POST 方法。需要发送的数据是邮箱和密码:

library(httr)

login <- list(
  email = "my@email.com",
  password = "mypass"
)

res <- POST("https://dashboard.server.eu/login", body = login, encode = "form", verbose())
Run Code Online (Sandbox Code Playgroud)

执行上述操作时,我得到以下输出:

-> POST /login HTTP/1.1
-> Host: dashboard.server.eu
-> User-Agent: libcurl/7.59.0 r-curl/3.3 httr/1.4.1
-> Accept-Encoding: gzip, deflate
-> Cookie: session=10kq9qv1udf0107F4C70RY14fsum41sq50
-> Accept: application/json, text/xml, application/xml, */*
-> Content-Type: application/x-www-form-urlencoded
-> Content-Length: 53
-> 
>> email=my%40email.com&password=mypass

<- HTTP/1.1 200 OK
<- access-control-allow-headers: Accept, Authorization, Content-Type, If-None-Match …
Run Code Online (Sandbox Code Playgroud)

authentication session r token httr

8
推荐指数
1
解决办法
919
查看次数

我无法从华为 p40 系列设备获取 Firebase 令牌

我一般都是用这个方法拿到token的,但是华为p40系列来了就拿不到token了

FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( this,  new OnSuccessListener<InstanceIdResult>() {
        @Override
        public void onSuccess(InstanceIdResult instanceIdResult) {
            final String token = instanceIdResult.getToken(); // i can't get this
        }
});
Run Code Online (Sandbox Code Playgroud)

android token firebase huawei-mobile-services

8
推荐指数
2
解决办法
4093
查看次数