小编ere*_*130的帖子

如何使用PHP(JWT)验证firebase ID令牌?

我有一个只有PHP(没有Java,没有node.js)的共享主机方案.我需要从我的Android应用程序发送firebase ID令牌并通过PHP-JWT验证它.

我正在按照教程:验证Firebase ID令牌

它说:

"如果您的后端使用的语言没有官方的Firebase Admin SDK,您仍然可以验证ID令牌.首先,找到适合您语言的第三方JWT库.然后,验证标题,有效负载和签名ID令牌."

我找到了这个库:Firebase-PHP-JWT.在gitHub示例中; 我无法理解

$关键部分:

`$key = "example_key";` 
Run Code Online (Sandbox Code Playgroud)

$ token部分:

`$token = array(
    "iss" => "http://example.org",
    "aud" => "http://example.com",
    "iat" => 1356999524,
    "nbf" => 1357000000
);`
Run Code Online (Sandbox Code Playgroud)

我的问题:

  1. 什么应该是$ key变量?
  2. 为什么&token变量是一个数组?将从移动应用程序发送的令牌是一个字符串.
  3. 如果有人可以发布一个用PHP-JWT验证firebase ID的完整示例,我将不胜感激.

编辑:

哦,我明白了.GitHub示例演示了如何生成JWT代码(编码)以及如何解码它.在我的情况下,我只需要解码由firebase编码的jwt.所以,我只需要使用这个代码:

$decoded = JWT::decode($jwt, $key, array('HS256'));
Run Code Online (Sandbox Code Playgroud)

在此代码部分中,$ jwt是firebase ID令牌.对于$ key变量文档说:

最后,确保ID令牌由与令牌的孩子声明相对应的私钥签名.从https://www.googleapis.com/robot/v1/metadata/x509/securetoken@system.gserviceaccount.com获取公钥,并使用JWT库验证签名.使用来自该端点的响应的Cache-Control标头中的max-age值来了解何时刷新公钥.

我不明白如何将这个公钥传递给解码功能.键是这样的:

"----- BEGIN CERTIFICATE ----- \nMIIDHDCCAgSgAwIBAgIIZ36AHgMyvnQwDQYJKoZIhvcNAQEFBQAwMTEvMC0GA1UE \nAxMmc2VjdXJldG9rZW4uc3lzdGVtLmdzZXJ2aWNlYWNjb3VudC5jb20wHhcNMTcw \nMjA4MDA0NTI2WhcNMTcwMjExMDExNTI2WjAxMS8wLQYDVQQDEyZzZWN1cmV0b2tl \nbi5zeXN0ZW0uZ3NlcnZpY2VhY2NvdW50LmNvbTCCASIwDQYJKoZIhvcNAQEBBQAD \nggEPADCCAQoCggEBANBNTpiQplOYizNeLbs + r941T392wiuMWr1gSJEVykFyj7fe \nCCIhS/zrmG9jxVMK905KwceO/FNB4SK + l8GYLb559xZeJ6MFJ7QmRfL7Fjkq7GHS\N0/sOFpjX7vfKjxH5oT65Fb1 + …

php android jwt firebase firebase-authentication

19
推荐指数
3
解决办法
8274
查看次数

设置Android隐私政策

我在我的Android应用程序中使用AdMob.我是否需要在我的应用程序中创建隐私政策,以告知用户Google使用的Cookie?

如果是,我需要把它放在哪里?

我必须在Google Play上的说明中写下来吗?或者在第一次运行时我必须显示片段窗口吗?或者我可以在"关于应用程序"部分编写隐私政策吗?

我写什么?

我阅读了Google文档,但我并不清楚.

https://support.google.com/googleplay/android-developer/answer/2519872?hl=en

android admob privacy-policy

11
推荐指数
1
解决办法
5021
查看次数

AdMob是为现金付费还是仅为点击付费?

好吧,我的问题是"AdMob是为现金付费还是仅为点击付费?".我已经在stackoverflow上阅读了一些答案,但大多数都是如此陈旧.

任何的想法?

我发现了这个:https: //support.google.com/admob/answer/3436338?hl = en

还有这个:

https://support.google.com/admob/answer/3418058?ctx=ui&hl=en

android click impressions admob

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

在android默认选项卡式活动中,片段不适合屏幕高度和actionBar可移动

我只是创造了一个TabbedActivityAndroid Studio 1.5.1.我没有更改任何代码,但Fragment不适合屏幕高度和ActionBar可移动.

Views在底部是看不见的.我需要ActionBar向上移动以查看底部视图.(请参阅视频:视频)

所以,我有两个问题:

  1. 在我投入ListView之后Fragment,ActionBar当用户滚动时我怎样才能顺利移动ListView?(WhatsApp和Viber正在使用这种技术)

2.如何防止ActionBar移动并对齐Fragment屏幕底部?

这是Main Activityandroid创建的:

public class MainActivity extends AppCompatActivity {

/**
 * The {@link android.support.v4.view.PagerAdapter} that will provide
 * fragments for each of the sections. We use a
 * {@link FragmentPagerAdapter} derivative, which will keep every
 * loaded fragment in memory. If this becomes too memory intensive, it …
Run Code Online (Sandbox Code Playgroud)

android android-fragments androiddesignsupport android-coordinatorlayout

6
推荐指数
2
解决办法
4243
查看次数

如何更改水平Progres对话框中的右下角文本?

当我上传图片时,我向用户显示百分比.在右边的buttom,我想显示"uploadedSize/fileSize".但我找不到如何设置此文本.

我该如何更改此文字?

ProgressDialogImg

android progressdialog

2
推荐指数
1
解决办法
81
查看次数

如何在MPAndroidChart中禁用和更改Yaxis标签的颜色?

我在我的项目中使用MPAndroidChart.我设置数据集如:

 LineDataSet set1 = new LineDataSet(yVals,null);
Run Code Online (Sandbox Code Playgroud)

我在标签上写了"null",因为我不希望向用户显示任何标签.当label为null时,graph会更大但仍然会出现属于label的多维数据集.

这就是我所看到的.

那么如何禁用立方体呢?

而且我也无法改变标签的颜色.它总是黑色的.如何更改标签的颜色?

android mpandroidchart

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