1*e7b1675dSTing-Kang Changload("@rules_python//python:defs.bzl", "py_binary") 2*e7b1675dSTing-Kang Changload("@pip_deps//:requirements.bzl", "requirement") 3*e7b1675dSTing-Kang Chang 4*e7b1675dSTing-Kang Changpackage(default_visibility = ["//visibility:private"]) 5*e7b1675dSTing-Kang Chang 6*e7b1675dSTing-Kang Changlicenses(["notice"]) 7*e7b1675dSTing-Kang Chang 8*e7b1675dSTing-Kang Changexports_files([ 9*e7b1675dSTing-Kang Chang "jwt_test_private_keyset.json", 10*e7b1675dSTing-Kang Chang "jwt_test_public_keyset.json", 11*e7b1675dSTing-Kang Chang]) 12*e7b1675dSTing-Kang Chang 13*e7b1675dSTing-Kang Changpy_binary( 14*e7b1675dSTing-Kang Chang name = "jwt_sign", 15*e7b1675dSTing-Kang Chang srcs = ["jwt_sign.py"], 16*e7b1675dSTing-Kang Chang python_version = "PY3", 17*e7b1675dSTing-Kang Chang deps = [ 18*e7b1675dSTing-Kang Chang requirement("absl-py"), 19*e7b1675dSTing-Kang Chang "@tink_py//tink:cleartext_keyset_handle", 20*e7b1675dSTing-Kang Chang "@tink_py//tink:tink_python", 21*e7b1675dSTing-Kang Chang "@tink_py//tink/jwt", 22*e7b1675dSTing-Kang Chang ], 23*e7b1675dSTing-Kang Chang) 24*e7b1675dSTing-Kang Chang 25*e7b1675dSTing-Kang Changpy_binary( 26*e7b1675dSTing-Kang Chang name = "jwt_generate_public_jwk_set", 27*e7b1675dSTing-Kang Chang srcs = ["jwt_generate_public_jwk_set.py"], 28*e7b1675dSTing-Kang Chang python_version = "PY3", 29*e7b1675dSTing-Kang Chang deps = [ 30*e7b1675dSTing-Kang Chang requirement("absl-py"), 31*e7b1675dSTing-Kang Chang "@tink_py//tink:tink_python", 32*e7b1675dSTing-Kang Chang "@tink_py//tink/jwt", 33*e7b1675dSTing-Kang Chang ], 34*e7b1675dSTing-Kang Chang) 35*e7b1675dSTing-Kang Chang 36*e7b1675dSTing-Kang Changpy_binary( 37*e7b1675dSTing-Kang Chang name = "jwt_verify", 38*e7b1675dSTing-Kang Chang srcs = ["jwt_verify.py"], 39*e7b1675dSTing-Kang Chang python_version = "PY3", 40*e7b1675dSTing-Kang Chang deps = [ 41*e7b1675dSTing-Kang Chang requirement("absl-py"), 42*e7b1675dSTing-Kang Chang "@tink_py//tink:tink_python", 43*e7b1675dSTing-Kang Chang "@tink_py//tink/jwt", 44*e7b1675dSTing-Kang Chang ], 45*e7b1675dSTing-Kang Chang) 46*e7b1675dSTing-Kang Chang 47*e7b1675dSTing-Kang Changsh_test( 48*e7b1675dSTing-Kang Chang name = "jwt_signature_test", 49*e7b1675dSTing-Kang Chang size = "small", 50*e7b1675dSTing-Kang Chang srcs = ["jwt_signature_test.sh"], 51*e7b1675dSTing-Kang Chang args = [ 52*e7b1675dSTing-Kang Chang "$(rootpath :jwt_sign)", 53*e7b1675dSTing-Kang Chang "$(rootpath :jwt_generate_public_jwk_set)", 54*e7b1675dSTing-Kang Chang "$(rootpath :jwt_verify)", 55*e7b1675dSTing-Kang Chang "$(rootpath :jwt_test_private_keyset.json)", 56*e7b1675dSTing-Kang Chang "$(rootpath :jwt_test_public_keyset.json)", 57*e7b1675dSTing-Kang Chang ], 58*e7b1675dSTing-Kang Chang data = [ 59*e7b1675dSTing-Kang Chang ":jwt_generate_public_jwk_set", 60*e7b1675dSTing-Kang Chang ":jwt_sign", 61*e7b1675dSTing-Kang Chang ":jwt_test_private_keyset.json", 62*e7b1675dSTing-Kang Chang ":jwt_test_public_keyset.json", 63*e7b1675dSTing-Kang Chang ":jwt_verify", 64*e7b1675dSTing-Kang Chang ], 65*e7b1675dSTing-Kang Chang) 66*e7b1675dSTing-Kang Chang 67*e7b1675dSTing-Kang Chang# This runs the previous test assuming the Tink python package has been 68*e7b1675dSTing-Kang Chang# installed previously with pip3 install. 69*e7b1675dSTing-Kang Changsh_test( 70*e7b1675dSTing-Kang Chang name = "jwt_signature_test_package", 71*e7b1675dSTing-Kang Chang size = "small", 72*e7b1675dSTing-Kang Chang srcs = ["jwt_signature_test.sh"], 73*e7b1675dSTing-Kang Chang args = [ 74*e7b1675dSTing-Kang Chang "'python3 $(rootpath :jwt_sign.py)'", 75*e7b1675dSTing-Kang Chang "'python3 $(rootpath :jwt_generate_public_jwk_set.py)'", 76*e7b1675dSTing-Kang Chang "'python3 $(rootpath :jwt_verify.py)'", 77*e7b1675dSTing-Kang Chang "$(rootpath :jwt_test_private_keyset.json)", 78*e7b1675dSTing-Kang Chang "$(rootpath :jwt_test_public_keyset.json)", 79*e7b1675dSTing-Kang Chang ], 80*e7b1675dSTing-Kang Chang data = [ 81*e7b1675dSTing-Kang Chang ":jwt_generate_public_jwk_set.py", 82*e7b1675dSTing-Kang Chang ":jwt_sign.py", 83*e7b1675dSTing-Kang Chang ":jwt_test_private_keyset.json", 84*e7b1675dSTing-Kang Chang ":jwt_test_public_keyset.json", 85*e7b1675dSTing-Kang Chang ":jwt_verify.py", 86*e7b1675dSTing-Kang Chang ], 87*e7b1675dSTing-Kang Chang) 88