栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Java

IO流记录

Java 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

IO流记录

yml文件

 

package com.umh.medicalbookingplatform.api.service

import com.umh.medicalbookingplatform.api.model.*
import com.umh.medicalbookingplatform.core.model.user.User
import com.umh.medicalbookingplatform.core.model.user.UserRepository
import com.umh.medicalbookingplatform.core.model.user.UserToken
import com.umh.medicalbookingplatform.core.security.model.AuthenticationRequest
import com.umh.medicalbookingplatform.core.service.TokenService
import com.umh.medicalbookingplatform.core.service.UserTokenService
import io.swagger.v3.oas.annotations.Operation
import org.slf4j.LoggerFactory
import org.springframework.beans.factory.annotation.Autowired
import org.springframework.data.repository.findByIdOrNull
import org.springframework.stereotype.Service
import java.util.*
import com.google.firebase.FirebaseApp

import com.google.auth.oauth2.GoogleCredentials

import com.google.firebase.FirebaseOptions
import com.google.firebase.auth.FirebaseAuth

import com.umh.medicalbookingplatform.core.properties.ApplicationProperties
import org.springframework.security.crypto.codec.Utf8
import java.io.*




@Service
class ApiMemberService {

    @Autowired
    private lateinit var apiGPInvokeService: ApiGPInvokeService

    private val logger = LoggerFactory.getLogger(this.javaClass)

    @Autowired
    private lateinit var tokenUtils: TokenService

    @Autowired
    private lateinit var userTokenService: UserTokenService

    @Autowired
    private lateinit var apiMemberService: ApiMemberService

    @Autowired
    private lateinit var userRepository: UserRepository

    @Autowired
    private lateinit var appProperties: ApplicationProperties


    @Operation(summary = "第三方登录接口", description = "第三方登录接口")
    fun socialMediaLogin(): String {
        //这里的需求是要把yml里的base64编码拿过来进行解码
        //base64转string
        val decoder = base64.getDecoder()
        val decoded = decoder.decode(appProperties.firebaseAdminSdk)
        val decodedStr = String(decoded, Charsets.UTF_8)
        //val jsonObject = JSONObject.parseObject(decodedStr)
        //val serviceAccount = FileInputStream("C:/Users/sendi/Desktop/serviceAccountKey.json")
        //往文本里面写入字符串内容,firebaseAccountKey.json为名字
        val file = File("firebaseAccountKey.json")
        file.writeText(decodedStr)
        println(file)
        //测试
        val test = FileOutputStream("C:/Users/sendi/Desktop/test.json")
        test.write(decodedStr.toByteArray())
        test.close()

        val serviceAccount = FileInputStream(file)
        val options = FirebaseOptions.builder()
            .setCredentials(GoogleCredentials.fromStream(serviceAccount))
            //.setCredentials(GoogleCredentials.getApplicationDefault())
            //.setDatabaseUrl("https://.firebaseio.com/")
            .build()

        FirebaseApp.initializeApp(options)
        val idToken = "eyJhbGciOiJSUzI1NiIsImtpZCI6ImYwNTM4MmFlMTgxYWJlNjFiOTYwYjA1Yzk3ZmE0MDljNDdhNDQ0ZTciLCJ0eXAiOiJKV1QifQ.eyJuYW1lIjoi5Y2i5pm66ZSLIiwicGljdHVyZSI6Imh0dHBzOi8vbGgzLmdvb2dsZXVzZXJjb250ZW50LmNvbS9hL0FBVFhBSndqUnc1UjJsdFlJVy1vX2xWXzZqTGF6X19yeXFIRVdGdDBVRFJUPXM5Ni1jIiwiaXNzIjoiaHR0cHM6Ly9zZWN1cmV0b2tlbi5nb29nbGUuY29tL3VtaC1hcHAtdWF0IiwiYXVkIjoidW1oLWFwcC11YXQiLCJhdXRoX3RpbWUiOjE2MzQwMDIwODcsInVzZXJfaWQiOiJ2aGFsbU40S084UFFHSFNSbGtiYXBiRVdVNm8xIiwic3ViIjoidmhhbG1ONEtPOFBRR0hTUmxrYmFwYkVXVTZvMSIsImlhdCI6MTYzNDAwMjA4NywiZXhwIjoxNjM0MDA1Njg3LCJlbWFpbCI6Imx1emZAZ3pzZW5kaS5jbiIsImVtYWlsX3ZlcmlmaWVkIjp0cnVlLCJmaXJlYmFzZSI6eyJpZGVudGl0aWVzIjp7Imdvb2dsZS5jb20iOlsiMTAwMTcwNzI2Njc2NzM5ODY4NzYyIl0sImVtYWlsIjpbImx1emZAZ3pzZW5kaS5jbiJdfSwic2lnbl9pbl9wcm92aWRlciI6Imdvb2dsZS5jb20ifX0.F-HBiaBArWKQ_B5xzmrthbWfqp7KqVvpBkmcK6g_Nnmjhu-OwrbUeRZRuuhJatHNQmxdMUUSIpV7jjgd-fDCKtma_sZi5bg7_GFTmNgsLD3lxqio5OSTIB-b6V79rDgsVmBKbFJZZNKIH6U8zvwma6yr7u1GYF1bV5Qw67oPQuSSIt5MpjPl-Ihs9TKkULiEJce3-T9JCrt-MdUX_3r1nBdRsyqzasg9DFVNzjTz6xq4EBWeShJXw46HHg0wUdWC4PX1VQr3dnJRTHgEu08YiKD5pd-6XsyVFv0AZW1GXrcKstqj_AqdShlRw0td-qjxGy_x2JEpYKOmiXtyQQy-9w"
        val decodedToken = FirebaseAuth.getInstance().verifyIdToken(idToken)
        val uid = decodedToken.uid


        return uid
    }
}

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/340361.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号